6

是一种重新绘制某些东西但使用子集数据集而不再次写出整个代码的方法吗?

可能类似于 last_plot() 但允许指定要使用的 data.frame 吗?

4

2 回答 2

13

您可以使用%+%运算符:

##Two data sets:
R> dd = data.frame(x = runif(10), y=runif(10))
R> dd_new = data.frame(x = runif(10), y=runif(10))

R> g = ggplot(dd, aes(x,y)) + geom_point() 
R> g
R> g %+% dd_new
于 2012-10-23T15:00:27.543 回答
6

虽然我觉得 Csgillespie 的回答很完整。我想添加一种我个人经常使用但很少在野外看到的辅助方法。它非常适合应用公司/个人主题并避免重新输入工作。

您可以将 ggplot2 元素保存为列表,就像您使用... + ... +

default.point <- list(geom_point(), 
coord_flip(),
theme(
axis.text.x=element_text(size=12
)))

ggplot(diamonds,aes(carat, price, colour=cut)) + default.point
于 2012-10-23T16:07:47.467 回答