【发布时间】:2015-10-22 14:34:34
【问题描述】:
我是 ggplo2 的新手,我无法重现我在原生 plot 函数中使用的东西:基本上我迭代地向绘图添加点,并且我希望添加新点并同时迭代地改变颜色.
MWE:
pts = data.frame(x = rnorm(10), y = rnorm(10))
plot(pts, pch = 19)
for(i in 2:5) {
pts = data.frame(x = rnorm(10), y = rnorm(10))
points(pts, col = i, pch = 19)
}
使用 ggplot2 我有:
pts = data.frame(x = rnorm(10), y = rnorm(10))
p <- ggplot(pts, aes(x,y)) + geom_point()
print(p)
for(i in 2:5) {
pts = data.frame(x = rnorm(10), y = rnorm(10))
p <- p + geom_point(data = pts, aes(colour = i))
print(p)
}
这并没有给出相同的东西。我曾想过使用 scale_colour_hue(5) 而不是 aes(colour=i) 来指定我想要 5 种不同的可区分颜色,但出现错误:
错误:提供给离散刻度的连续值
谢谢!
【问题讨论】:
-
一般来说,如果你把所有需要以相同方式绘制的数据放在同一个数据框中,ggplot2 效果最好。
-
不幸的是,在我的真实案例中,数据是迭代生成的,而我希望在每次新生成之后更新绘图而不是等待过程结束