我试图通过一个主要是数字的因素来为 ggplot 着色,如下所示:
iris %>%
ggplot(aes(Sepal.Length, Sepal.Width, color = cut(Petal.Length, 0:7))) +
geom_point() +
scale_color_viridis_d()
我想做的是特例(0,1]
值和颜色为红色,但保留其余值的绿色渐变。我知道我可以即时改变颜色但我想知道是否也可以构建一个新的离散调色板,将红色作为其第一种颜色,然后使用渐变,这将使代码更具可重用性。
因此,更普遍的问题是:可以轻松地添加/删除/编辑现有离散调色板中的颜色吗?
这与 @seasmith 的答案基本相同,只是添加了将调色板保存到变量以供以后使用。我经常这样做是为了明确设置NA
颜色,然后在多个绘图中使用调色板。
其他包也有类似的功能viridis
一个:例如,您可以从以下位置获取 ColorBrewer 调色板RColorBrewer::brewer.pal
, Carto调色板来自rcartocolor::carto_pal
,或任何一个ggthemes
来自与调色板同名的函数。
library(tidyverse)
plasma_pal <- c("red", viridis::plasma(n = 6))
plasma_pal
#> [1] "red" "#0D0887FF" "#6A00A8FF" "#B12A90FF" "#E16462FF" "#FCA636FF"
#> [7] "#F0F921FF"
iris %>%
ggplot(aes(Sepal.Length, Sepal.Width, color = cut(Petal.Length, 0:7))) +
geom_point() +
scale_color_manual(values = plasma_pal)
创建于 2018-04-19代表包(v0.2.0)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)