R 使用不同的数据重复ggplot,但不键入整个代码
是否有一种方法可以重新绘制某些内容,但使用子集数据集,而无需再次写出整个代码R 使用不同的数据重复ggplot,但不键入整个代码,r,ggplot2,R,Ggplot2,是否有一种方法可以重新绘制某些内容,但使用子集数据集,而无需再次写出整个代码 可能类似于last_plot(),但允许指定要使用的data.frame?您可以使用%+%运算符: ##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_p
可能类似于last_plot(),但允许指定要使用的data.frame?您可以使用
%+%
运算符:
##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
虽然我觉得基列斯皮的答案是完整的。我想添加一个我个人经常使用的第二种方法,但在野外很少见到。它非常适合应用公司/个人主题,避免重打自己的作品 您可以将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
default.point请更具体地回答您的问题-我不能确切地告诉您想要做什么,或者为什么。可能是显而易见的,但值得指出的是,在使用%+%
操作符后,您也可以继续使用+
操作符:g%+%dd\u new+labs(title=“Best Graph”)
不一定是显而易见的!一个方便的技巧是添加对ggsave()
的调用,以将新绘图输出到文件。