【问题标题】:build ggplot composite iteratively迭代构建ggplot复合
【发布时间】:2016-11-12 21:48:18
【问题描述】:

我想使用 ggplot 迭代地生成绘图。

想象一下我生成并绘制一个数据框...

library(ggplot2)
library(reshape2)

x <- seq(0, 4 * pi, 0.1)
n <- length(x)
y1 <- 0.5 * runif(n) + sin(x)
df1 <- data.frame(x,y1)
df1m <- melt( df1, id="x")
p1 <- ggplot( data=df1m, aes(x=x,y=value)) + geom_point(color="blue")
p1

...然后一段时间后生成并绘制第二个数据帧...

y2 <- 0.5 * runif(n) + cos(x) - sin(x)
df2 <- data.frame(x,y2)
df2m <- melt( df2, id="x")
p2 <- ggplot( data=df2m, aes(x=x,y=value)) + geom_point(color="red")
p2

...但是如何绘制两个重叠?以下给出和错误:

p1 + p2

如果 df1 和 df2 同时可用,有很多示例说明如何执行此操作,并且我确信我可以存储单个数据帧,但理想情况下,我希望能够将图形构建为数据变得可用。

【问题讨论】:

    标签: r ggplot2 iteration


    【解决方案1】:

    您可以在同一个绘图中添加第二层

    library(ggplot2)
    
    p1 <- ggplot() + geom_point(data=df1m, (aes(x=x,y=value)), color="blue")
    
    p1 + geom_point(data=df2m, aes(x=x,y=value), color="red")
    

    【讨论】:

    • 一个直接而有用的答案。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    相关资源
    最近更新 更多