繁体   English   中英

如何在ggplot2中绘制具有多列的data.frame?

[英]How to plot data.frame with multiple columns in ggplot2?

我有一个大致如下所示的数据框:

aa <- c(1:7)
bb <- c(11:15)
df1 <- expand.grid(aa, bb)
val1 <- rnorm(nrow(df1))
val2 <- runif(nrow(df1))

df <- data.frame(df1, val1, val2)
names(df) <- c("aa", "bb", "val1", "val2")

我想做什么:对于固定的aa(例如1),对于bb的所有值都有一个时间序列val1和val2。 现在,我想绘制这些时间序列(对于aa = 1,每个val1和val2均为5)。 (因此总共7 * 5 * 2时间序列)

我该如何使用ggplot2?

我尝试了以下方法:

require(ggplot2)
require(reshape2)

df_pl <- melt(df,  id.vars = c("aa", "bb"), variable.name = 'val')

ggplot(df_pl, aes(aa, value)) + geom_point(aes(colour = val))
ggplot(df_pl, aes(bb, value)) + geom_point(aes(colour = val))

但这只会生成aa和bb的函数val1和val2的图,而不是每个bb值的val1 / val2系列的图。 我可能使用了不正确的功能

我不确定我是否理解正确,这就是您想要实现的目标,但也许可以尝试:

ggplot(df_pl, aes(aa, value)) + geom_point(aes(colour = val)) + facet_wrap(~bb)
ggplot(df_pl, aes(bb, value)) + geom_point(aes(colour = val)) + facet_wrap(~aa)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM