我如何在R中创建一个散点图,就像下面在Excel中一样?(见图片和我尝试使用R)

szqfcxe2  于 2023-09-27  发布在  其他
关注(0)|答案(1)|浏览(72)

我有兴趣使用R创建以下数据的散点图:
| 分钟|组1|组2|
| --|--|--|
| 1 | 199 | 176 |
| 2 | 188 | 157 |
| 3 | 169 | 144 |
更多信息请参见屏幕截图:
https://joshuawkelly.notion.site/Question-about-r-777cd223ed1441afb1f23dece3b9bc9c?pvs=4
我开始为图编写代码,但后来遇到了问题。即:(1)如何将多组数据放在一个图表上,以及(2)如何将图表调整到预期的范围和尺度内。

install.packages("tidyverse")
library(tidyverse)
fnames = c(1, 2, 3)
g1 = c(119, 118, 157)
g2 = c(176, 157, 144)
    
hr_data_class = tibble(Minutes = fnames,Group_1 = g1,Group_2 = g2)

print(hr_data_class)

ggplot(hr_data_class, aes(x=fnames,, y=g1 + g2, color=cyl, shape=cyl)) + geom_point(shape=6, color= "#154734") + labs(x="Time (Minutes)",y="Heart Rate (BPM)")

ggplot(hr_data_class, aes(x=g1,, y=g2, color=cyl, shape=cyl)) + geom_point(shape=6, color= "#154734") + labs(x="Time (Minutes)",y="Heart Rate (BPM)")

plot(fnames,g1,col='red',pch=19,cex=3,xlab='X1',ylab='Y1',main='hello world')

plot(fnames,g2,col='red',pch=19,cex=3,xlab='Time (Minutes)',ylab='Heart Rate (BPM)',main='Class Heart Rate Data')
iovurdzv

iovurdzv1#

由于组的值分布在列中,因此可以为每列使用geom_point,但tidyverse的方法是使用例如将数据整形为长或整洁的格式。tidyr::pivot_longer,允许使用一个geom_point创建绘图。然后可以通过scale_color_manual设置颜色。

library(ggplot2)
library(tidyr)

hr_data_class_long <- hr_data_class |>
  pivot_longer(-Minutes, names_to = "group", values_to = "value")

ggplot(hr_data_class_long, aes(Minutes, value, color = group)) +
  geom_point() +
  scale_color_manual(values = c("red", "blue")) +
  labs(x = "Time (Minutes)", y = "Heart Rate (BPM)", color = NULL) +
  theme(legend.position = "bottom")

相关问题