[英]Overlaying two plots using ggplot2 in R
有两个数据框 - df1
和df2
,我需要从中使用 ggplot2 创建线图并显示在同一个图形上。
df1
x y
2 30
4 25
6 20
8 15
df2
x y
2 12
4 16
6 20
8 24
用于绘制第一个 df,
p1 <- ggplot( df1, aes(x = df1[,1] , y = log(df1[,2]) ) )
p1 <- p1 + geom_line(aes(y = log(df1[,2])))
p1
我们如何在数据框df2
同一图形上获得相同的绘图叠加
如果您重新定义data
,那将改变该 geom 层的来源。 ggplot
将始终查看美学映射的初始化调用并尝试从那里继承,因此除非您想更改/添加映射,否则您不需要 redfine aes()
。
也无需使用df[,2]
语法,一旦您设置data = df1
, ggplot
就已经在df1
内部查看。
df1 <- data.frame(x = seq(2, 8, by = 2),
y = seq(30, 15, by = -5))
df2 <- data.frame(x = seq(2, 8, by = 2),
y = seq(12, 24, by = 4))
ggplot(df1, aes(x, log(y))) +
geom_line() +
geom_line(data = df2, color = "red") # re-define data and overwrite top layer inheritance
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.