首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ggplot中修改viridis调色板

在ggplot中修改viridis调色板
EN

Stack Overflow用户
提问于 2018-04-18 16:56:49
回答 2查看 5K关注 0票数 4

我试图用一个主要是数字的因素来给一个图形着色,如下所示:

代码语言:javascript
复制
iris %>%
  ggplot(aes(Sepal.Length, Sepal.Width, color = cut(Petal.Length, 0:7))) + 
  geom_point() + 
  scale_color_viridis_d()

我想做的是特例的(0,1]值和颜色,以红色,但保留病毒梯度的剩余值。我知道我可以在空中改变颜色,但我想知道是否也有可能构建一个新的离散色调色板,它的第一个颜色是红色,然后是渐变,这将使代码更加可重用。

因此,更普遍的问题是:可以轻松地在现有的离散调色板?中添加/删除/编辑颜色。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-19 16:58:41

除了将调色板保存到变量中以供以后使用外,这与@季节性史密斯的回答基本相同。我经常这样做,是为了显式设置NA颜色,然后在多个情节中使用调色板。

其他包具有类似于viridis的函数:例如,您可以从RColorBrewer::brewer.pal获得ColorBrewer调色板,从rcartocolor::carto_pal获取CartoColor调色板,或者从与调色板同名的函数获得任何ggthemes调色板。

代码语言:javascript
复制
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)

reprex封装创建于2018-04-19 (v0.2.0)。

票数 3
EN

Stack Overflow用户

发布于 2018-04-18 20:00:23

需要调用scale_color_manual()

代码语言:javascript
复制
iris %>%
  ggplot(aes(Sepal.Length, Sepal.Width, color = cut(Petal.Length, 0:7))) + 
  geom_point() + 
  scale_color_manual(values = c("red", viridis::viridis(6)))

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49905139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档