我想在单个ggplot中绘制多条线,其中每条线代表给定两个或多个参数的x和y之间的关系。
我知道如何针对一个参数执行此操作:
采取以下示例数据:
library(ggplot2)
library(reshape2)
rs = data.frame(seq(200, 1000, by=200),
runif(5),
runif(5),
rbinom(n = 5, size = 1, prob = 0.5))
names(rs) = c("x_", "var1", "var2", "par")
melted = melt(rs, id.vars="x_")
ggplot(data = melted,
aes(x = x_, y = value, group = variable, col = variable)) +
geom_point() +
geom_line(linetype = "dashed")
这将绘制三条线,一条用于var1,一条用于var2,另一条用于par。
但是,我想要四行:一是给定par = 0的var1,另一行是给定par = 1的var1,然后对于var2同样。
例如,如果我希望条件是多个参数的组合(例如,par2 + par),它将如何扩展?
您需要调整合并功能,并添加同时包含par和var详细信息的group列。我想以下是您想要的?
library(reshape)
library(ggplot2)
rs = data.frame(seq(200, 1000, by=200), runif(5), runif(5), rbinom(n = 5, size = 1, prob = 0.5))
names(rs)=c("x_", "var1", "var2", "par")
melted = melt(rs, id.vars=c("x_", "par"))
melted$group <- paste(melted$par, melted$variable)
ggplot(data=melted, aes(x=x_, y=value, group =group, col=group))+ geom_point() + geom_line(linetype = "dashed")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句