我在这里的第一个问题,所以,如果我在任何地方都不合时宜,请走开。
我正在尝试对R进行编码以生成一个包含多个数据系列线的单个图表。数据序列的数量可能会有所不同,但会在数据帧中提供。我试图将另一个线程的内容重新排列为print
geom_line
,但没有成功。
逻辑是:
#desire to replace loop of 1:5 with ncol(df)
print(ggplot(df,aes(x=time))
for (i in 1:5) {
print (+ geom_line(aes(y=df[,i]))
}
#functioning geom point loops ggplot production:
for (i in 1:5) {
print(ggplot(df,aes(x=time,y=df[,i]))+geom_point())
}
#functioning multi-line ggplot where n is explicit:
ggplot(data=df, aes(x=time), group=1) +
geom_line(aes(y=df$`3`))+
geom_line(aes(y=df$`4`))
该功能示例代码生成n个点图,在这种情况下为5。我只希望一张图表包含n条线系列。
这可能类似于How to plot n dimmensional matrix?,目前尚无相关答案
非常感谢您的任何贡献,谢谢
您可以使用gather
“世界”中的tidyverse
执行此操作。由于您没有提供样本数据,因此我使用了mtcars
。我创建了两个data.frames,其中一个3列,一个9列。在其中的每一个中,我都针对变量mpg绘制了所有变量。
library(tidyverse)
df3Columns <- mtcars[, 1:4]
df9Columns <- mtcars[, 1:10]
df3Columns %>%
gather(var, value, -mpg) %>%
ggplot(aes(mpg, value, group = var, color = var)) +
geom_line()
df9Columns %>%
gather(var, value, -mpg) %>%
ggplot(aes(mpg, value, group = var, color = var)) +
geom_line()