我有几个几何函数,特别是geom_point
和geom_abline
。我想通过将color
美学映射到自定义值(未由数据框中的列定义)来使其中一些颜色具有相同的颜色。
在下面的示例中,我希望线条与周围点的颜色相同(不在color='red'
之外设置aes()
或在原始数据中添加分组列。)
library(tidyverse)
ggplot(mtcars) +
geom_point(aes(x=disp, y=wt, color='wt')) +
geom_point(aes(x=disp, y=qsec, color='qsec')) +
geom_abline(intercept=0, slope=0.01, aes(color='wt')) +
geom_abline(intercept=20, slope=-0.01, aes(color='qsec'))
答案 0 :(得分:3)
正如所讨论的here
这样做的方法是
library(tidyverse)
ggplot(mtcars) +
geom_point(aes(x=disp, y=wt, color='wt')) +
geom_point(aes(x=disp, y=qsec, color='qsec')) +
geom_abline(aes(intercept=b, slope=m, color='wt'), data.frame(b=0, m=0.01)) +
geom_abline(aes(intercept=b, slope=m, color='qsec'), data.frame(b=20, m=-0.01))