修改ggplot中的viridis调色板

2023-11-30

我试图通过一个主要是数字的因素来为 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(使用前将#替换为@)

修改ggplot中的viridis调色板 的相关文章

  • 线性判别分析图

    如何将样本 ID 行号 作为标签添加到此 LDA 图中的每个点 library MASS ldaobject lt lda Species data iris plot ldaobject panel function x y points
  • 调用 tidyselect-using 函数时指定点参数,无需指定前面的参数

    这是我在包中使用的函数的简化版本 论证和tidyselect选择变量 this toy function just selects the variables foo lt function dat mtcars expr lt rlang
  • 删除字符串中的转义符,或者“我怎样才能让 \ 不碍事?”

    转义字符在 R 中会带来很多麻烦 前面的问题证明了这一点 更改列中的值 https stackoverflow com questions 10046357 change the values in a column 10046412 10
  • 将逗号类分配给数据框中的多个列

    我有一个data frame有几个数字列我要 就像分配 逗号 类一样 这是需要的 因为我有一个中央数据框 我使用 Openxlsx 包过滤并保存到 Excel 并且需要comma类 以便数据在excel中显示为逗号格式 这是数据框 set
  • 使用 geom_tile() 的 R ggplot 热图:如何按年份排序并在 y 轴上显示所有年份?

    在研究了哈德利的书并在这里搜索后 我创建了一个由年和月矩阵组成的热图 颜色根据时间序列变量的百分比变化而变化 热图和我用来获取它的代码如下所示 我还有一些我自己无法解决的问题 1 如何对矩阵进行排序 排序 以便 y 轴中的年份从最早到最晚
  • R:如何应用输出多列数据帧的函数(使用 dplyr)?

    我想查找数据框中某一特定列与所有其他列之间的相关性 p 值和 95 CI broom 包提供了一个示例 说明如何使用带有 dplyr 和管道的 cor test 在两列之间执行此操作 对于 mtcars 和 mpg 列 我们可以与另一列进行
  • cspade() R 错误

    我正在尝试从电缆调制解调器的事件中挖掘规则 链接的是数千个文件 当我尝试在所有设备的合并文件 1200 万行 上运行 cspade 算法时 它会花费数小时来消耗 RAM 直到它用完我可用的所有 64 GB 因此 我尝试仅在一台设备的链接文件
  • 查找嵌套列表中元素的索引?

    我有一个类似的列表 mylist lt list a 1 b list A 1 B 2 c list C 1 D 3 是否有一种 无循环 方法来识别元素的位置 例如如果我想用 5 替换 C 的值 并且在哪里找到元素 C 并不重要 我可以这样
  • 如何生成向量的所有组合[重复]

    这个问题在这里已经有答案了 假设我有 3 个绿球 2 个橙球和 8 个黄球 我想订购它们 鉴于所有相同颜色的球都是相同的 如何生成所有可能的序列 在 R 中 使用gregmisc 我可以 balls lt c orange orange g
  • 如何调整ggplot直方图的时间刻度轴

    我正在使用一个数据框 其中一列包含POSIXct日期时间值 我正在尝试使用绘制这些时间戳的直方图ggplot2但我有两个问题 我不知道如何设置 binwidthgeom histogram 我想将每个垃圾箱设置为一天或一周 我尝试提供 di
  • R read_excel:libxls 错误:无法解析文件

    我试图使用 readxl read excel 将 xls 文件读入 R 但它给出了以下错误 Error filepath data xls libxls error Unable to parse file 还尝试了 readxl exc
  • dplyr 中的 Summarize 是否可以不删除数据框中的其他列?

    我有一个包含三列的数据框 我正在尝试进行简单的总结以查找数据框中每个城市的最高温度 但同时保留每个最高温度列出的日期 这是数据框 我们称之为 maxT new ID Date Max TemperatureF 1 TUS 1960 04 0
  • 分离并重新附加“tools:rstudio”

    又名玩火 以下不起作用 rstd obj lt as environment tools rstudio detach tools rstudio attach rstd obj name tools rstudio 好吧 它似乎有效 但随
  • 将 JSON URL 转换为 R 数据帧

    我在将 JSON 文件 从 API 转换为 R 中的数据帧时遇到问题 例如 URL 我尝试了 S O 的一些不同建议 包括将json数据转换为R中的数据框 https stackoverflow com questions 28683769
  • 在函数内部调用 clusterApply 时,性能会下降

    我遇到了一个奇怪的问题clusterApply 我已经能够尽可能地隔离它 如下所示 首先 我从全局环境运行以下代码 require parallel cl lt makeCluster rep localhost 20 SOCK xl lt
  • ggplot 中的错误问题:“grid.Call(”L_textBounds“, as.graphicsAnnot(x$label), x$x, x$y, … 中的错误”[重复]

    这个问题在这里已经有答案了 我试图在 ggplot 中制作一个条形图 其中我通过强制其中一些标签为长度为零的字符串 即 来指定要显示的标签 但是 我收到错误 Error in grid Call L textBounds as graphi
  • 使用 dplyr:group_by 将数据帧分成多个子集?

    有没有办法根据 group by 组使用 dplyr 将一个数据帧拆分为数据帧的子集 mtcars gt group by cyl gear gt codes 非常感谢 好吧 并不是你真的想要 但你可以这样做tidyr 即nearly一样的
  • R:将 readRDS 应用于 .Rds 文件名的列表对象

    我有几个包含数据帧对象的 Rds 文件 我想对每个文件应用一个函数并将数据帧绑定到单个数据帧中 但是 当我尝试从文件名列表中读取多个 Rds 文件时 我收到错误 FUN X i 中的错误 从连接读取时出错 readRDS 不适用于列表吗 R
  • 从 R 环境中删除对象

    我正在阅读 Hadley 的 Advanced R 在第 8 章中 他说我们可以使用以下方法从环境中删除对象 rm 但是 移除该物体后我仍然可以看到该物体 这是我的代码 e lt new env e a lt 1 e b lt 2 e a
  • 将 VLMC 拟合到很长的序列

    我正在尝试将 VLMC 拟合到最长序列为 296 个状态的数据集 我这样做如下所示 Load libraries library PST library RCurl library TraMineR Load and transform d

随机推荐

  • 解析命令调用的输出

    因此 我尝试从 python 执行 shell 命令 然后将其存储在数组中或直接解析管道 shell 命令 我通过 subprocess 命令管道传输 shell 数据 并使用 print 语句验证输出 它工作得很好 a subproces
  • 单击/激活 jQuery UI 选项卡时触发函数?

    我正在使用 jQuery 选项卡 其中一个选项卡中的内容是通过 AJAX 调用检索的 但我不想在单击选项卡 激活 之前触发调用 因为用户可能不一定单击它 最好的方法是什么 jQuery UI 提供select and show选项卡的事件
  • 默认情况下,Java 类会隐式扩展 java.lang.Object [重复]

    这个问题在这里已经有答案了 在本教程中 http www studytonight com java object and classes 我读到java 类可以选择扩展一个父类 默认情况下 它将扩展 java lang Object No
  • 如何在 MATLAB 中使用线性索引为 4-D 矩阵的对角线赋值?

    我有一个 4 维矩阵A尺寸的NxNxPxQ 如何轻松地将每个对角线值更改为 1NxN矢量化方式的二维子矩阵 结合 gnovice 的建议 对元素进行索引的一种简单方法是 N P Q size A get dimensions of your
  • 在下载过程中使用 swingworker 更新 JProgressBar

    问题解决了 非常感谢 Trashgod 和 HoverCraftFullOfEels 我终于通过使用下面的示例并稍微改变它得到了这个概念 更改允许缩放进度条 默认为 100 个单位 再次感谢您的耐心和愿意解决这个问题 意味着很多人 凯特 p
  • 发送大量发布消息:正在进行中的发布过多错误

    这是泛美卫生组织异步客户端 client new MqttAsyncClient appProps getProperty mqtt broker appProps getProperty mqtt clientId new MemoryP
  • 可以解析 HTML 文档并构建 DOM 树(java)

    是否可能以及可以使用哪些工具将 html 文档解析为字符串或文件 然后构建 DOM 树 以便开发人员可以通过某些 API 遍历该树 例如 DomRoot parse myhtml html for tags DomRoot 注意 这是一个
  • 为什么MIPS不能在寻址模式下使用两个寄存器?

    我很好奇为什么我们不允许在 MIPS 中使用寄存器作为偏移量 我知道你can t使用寄存器作为偏移量 如下所示 lw t3 t1 t4 我只是好奇why情况就是如此 是硬件限制吗 或者只是 ISA 的一部分 PS 如果您正在寻找替代方法 请
  • 根据 2 个以上组的百分比随机分配对照组与治疗组

    小猪放弃了我之前的问题python pandas 根据 随机分配对照组与治疗组 感谢 maxU 我知道如何将随机对照组 治疗组分配为 2 个组 但如果我有 3 个或更多组怎么办 例如 df head customer id Group ma
  • 如何用python3生成unicode字符串

    我用过这个 u unicode text utf 8 但是使用 Python 3 时出现错误 或者 也许我只是忘记包含一些内容 NameError global name unicode is not defined 谢谢 Python3
  • 从字符串中提取可变长度的数量

    我想从字符串中提取多个可变长度 该字符串如下所示 used memory 1775220696 我想要1775220696变量中的一部分 对此有很多疑问 但我找不到适合我需要的解决方案 您可以使用cut my val echo used m
  • 从 Java 应用程序启动 OpenVPN [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 是否可以通过 Java 应用程序启动 OpenVPN 如果可能的话 最好的方法是什么 这样它是跨平台的 并且可以在所有安装了 OpenVPN 的平台上运行 你可以像这样用 Jav
  • 在构造函数或类中的粗箭头中绑定

    所以我想知道这之间是否有区别 import React Component PropTypes from react class Example extends Component constructor props super props
  • 仅将函数应用于一个 div 类,而不是全部

    我目前正在网站上的位置页面上工作 并且在显示 隐藏 jquery 效果时遇到问题 下面的 jQuery 激活点击并应用切换 div 的类以显示 隐藏它 非常简单 但是 当我添加更多具有相同类的 div 并单击激活器链接时 它会在所有 div
  • 在某些行/列值处提取子矩阵

    我需要根据行 列索引和切片距离来切片 2D 输入数组 在下面的示例中 我可以从输入矩阵中提取 3x3 子矩阵 但我无法调整此代码以适应我想要的任何搜索距离 而无需手动写下索引 Example import numpy as np creat
  • 寻找具有分段完成/树模型的 QCompleter 示例

    PySide 文档包含此部分具有树模型的 QCompleter PySide QtGui QCompleter 可以在树模型中查找补全 假设任何项目 或子项目或子子项目 都可以通过指定项目的路径明确表示为字符串 然后一次完成一层 让我们以用
  • 为什么有时在 Windows 控制台程序中按 Ctrl+Z 时才会终止输入? [复制]

    这个问题在这里已经有答案了 我知道使用 ctrl z 来表示 EOF 或 EOT 通常已经过时且不推荐 但我只是好奇幕后发生了什么 假设我在 C 中有这样的东西 include
  • Angular 通用参考错误 - KeyboardEvent 未定义

    我在其中添加了 多米诺骨牌 服务器 ts甚至还更新了webpack server config js as module rules test ts js loader regexp replace loader options match
  • 是否可以使用 Streams.intRange 函数?

    我想使用 Streams intRange int start int end int step 来实现反向排序流 然而 似乎 java util Streams 类不再可用 但它仍然在标准库的 rt jar 中 该方法是否在其他类中或被其
  • 修改ggplot中的viridis调色板

    我试图通过一个主要是数字的因素来为 ggplot 着色 如下所示 iris gt ggplot aes Sepal Length Sepal Width color cut Petal Length 0 7 geom point scale