(我将使用mtcars
库中的gcookbook
数据框。)
假设我生成以下情节:
p <- (ggplot(mtcars, aes (col = factor(cyl), x = wt, y = disp))
+ geom_point (shape = 19)
+ geom_text (aes(y=disp+0.1,label=hp), size = 2.5, vjust=0)
+ stat_smooth(method=lm))
plot(p)
我是否可以更改,例如x
或y
或col
,而无需返回并编辑原文?
例如,假设我想将x
更改为mpg
,将col
更改为gear
。我想运行类似的东西,
p + ggplot(aes=aes (col = factor(gear), x = mpg))
plot(p)
但是第一个命令给出错误:
Error: Don't know how to add o to a plot
有没有办法更改绘图中使用的列而无需返回并编辑原始命令?
答案 0 :(得分:2)
要改变情节的整体美感,您可以:
p + aes(color = factor(gear), x = mpg)
要更改特定图层的美感,您可以通过指定新变量手动更改对象p
。但这似乎很脆弱。
要更改示例中geom_text
图层的美学映射:
p$layers[[2]]$mapping$label = mtcars$wt
p$layers[[2]]$mapping$y = mtcars$disp + 2