创建后是否有一种首选的方法来修改ggplot
个对象?
例如,我建议我的学生将r对象与pdf文件一起保存以供以后更改...
library(ggplot2)
graph <-
ggplot(mtcars, aes(x=mpg, y=qsec, fill=cyl)) +
geom_point() +
geom_text(aes(label=rownames(mtcars))) +
xlab('miles per galon') +
ggtitle('my title')
ggsave('test.pdf', graph)
save(graph, file='graph.RData')
如果他们不得不更改标题或标签或其他东西,他们可以轻松加载对象并更改简单的东西。
load('graph.RData')
print(graph)
graph +
ggtitle('better title') +
ylab('seconds per quarter mile')
我需要做些什么才能将颜色更改为离散比例?在原始图中,我将y
包裹在as.factor
中。但之后有办法吗?
或者,当数据为gone
时,是否有更好的方法来修改对象。很想得到一些建议。
答案 0 :(得分:19)
您可以使用ggplot_build()
在没有代码或数据的情况下更改绘图:
示例图:
data("iris")
p <- ggplot(iris) +
aes(x = Sepal.Length, y = Sepal.Width, colour = Species) +
geom_point()
颜色分别为Species
。
使用ggplot_build()
:
q <- ggplot_build(p)
看一下对象q
,看看这里发生了什么。
要更改点的颜色,您可以在q
:
q$data[[1]]$colour <- "black"
使用ggplot_gtable()
:
q <- ggplot_gtable(q)
并绘制它:
plot(q)
现在,积分是黑色的。