R.在创建原始图之后,如何向ggplot添加第二个图?

0x6upsns  于 2023-01-03  发布在  其他
关注(0)|答案(2)|浏览(111)

我正在创建简单的ggplot

p <- ggplot(Data) + geom_line(aes(x, y))

我想在同一个ggplot上绘制第二条线,但在绘制原始ggplot时没有可用的数据。是否有办法在完成第一个绘图后添加第二个绘图?
换句话说,当使用绘图和线条创建简单图表时,您可以在创建绘图和创建线条之间做一些事情。在ggplot中,似乎您必须同时创建两条线条。我如何使用ggplot创建第一个绘图,做其他事情,然后返回并使用ggplot添加第二个绘图?
我试过像这样的建议解决方案,但它们不起作用。

p <- ggplot(Data) +
  geom_line(aes(x, y)) 

p <- p + geom_line(Data,aes(x,z))
p8ekf7hl

p8ekf7hl1#

你想做的事确实是可能的:

g <- ggplot(mtcars) +
  geom_line(aes(x=mpg, y=hp), col='red')

print(g)

g2 <- g +
  geom_line(aes(x=mpg, y=qsec), col='blue')
print(g2)

b4wnujal

b4wnujal2#

下面是制作一个图,然后使用新数据添加另一个图的示例。
正如@stefan所指出的,附加几何体的预期顺序是在美观之后有数据,但是如果指定为data = <NEW DATA>, ...,则可以将数据放在前面

p <- ggplot(mtcars) +
  geom_line(aes(mpg, wt))

p + geom_point(data = data.frame(mpg = 10:30, wt = seq(2,5, length.out = 21)),
               aes(mpg, wt))

最后一行相当于:

p + geom_point(aes(mpg, wt),
               data.frame(mpg = 10:30, wt = seq(2,5, length.out = 21)))

相关问题