我有兴趣使用 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')
由于组的值分布在各列中,您可以对每列使用
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")