【发布时间】:2018-09-29 00:23:37
【问题描述】:
我正在尝试通过一个主要是数字的因素为 ggplot 着色,如下所示:
iris %>%
ggplot(aes(Sepal.Length, Sepal.Width, color = cut(Petal.Length, 0:7))) +
geom_point() +
scale_color_viridis_d()
我想做的是对(0,1] 值进行特殊处理并将其着色为红色,但保留其余值的绿色渐变。我知道我可以change the color on the fly,但我想知道是否也可以构建一个新的离散调色板,将红色作为其第一种颜色,然后是渐变色,这将使代码更具可重用性。
因此,更普遍的问题是:是否可以轻松地在现有的离散调色板中添加/删除/编辑颜色?
【问题讨论】:
-
scale_color_viridis_d属于哪个包? -
scale_color_manual(values = c("red", viridis::viridis(6)))? -
D'oh,这比我想象的要容易方式。 @seasmith,你想把它作为答案提交吗?
-
再想一想:还有没有办法为连续调色板做到这一点?
-
对于连续规模,我认为您需要拨打
continuous_scale();构建您的自定义颜色比例函数并将其传递给palette参数