ggplot2:向修复的ggplot对象添加颜色

时间:2018-11-14 09:59:49

标签: r ggplot2 colors

我有一个固定的ggplot对象(来自我不想触摸的一个不错的函数)。但是,我想在之后添加一些颜色,从而添加新数据。那怎么可能?

这是一个简单的例子。

gg <- ggplot(iris, aes(Sepal.Length, Sepal.Width)) + geom_point()

现在,我希望对象gg由Petal.Length着色。像(但那不起作用)之类的东西

gg_colored <- gg + aes(col=Petal.Length)

获得:

enter image description here

2 个答案:

答案 0 :(得分:1)

解决方案是使用aes_stringaes_()以编程方式处理美学的方式。

可以使用

平均生成图
data(iris)
gg <- ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width, col=Petal.Length)) +
geom_point()
gg

data(iris)
gg <- ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width))
gg_colored <- gg + geom_point(aes_string(col="Petal.Length"))
gg_colored

答案 1 :(得分:0)

借助paoloeusebi的答案,我还找到了一种方法来添加新的着色变量(而不是虹膜内部的Petal.Length)

mydat <- gg$data 
mydat$col <- rep(LETTERS[1:3], each=50) 
gg_colored <- gg + geom_point(data=mydat, aes_string(col="col"))