ggplot2:单独为一类着色

2023-12-03

我正在生成一个散点图,其中我的类别之一是“其他”类别。我希望因子变量中的其他类别为任何颜色,但“其他”类别为灰色。当我尝试使用scale_color_manual()函数时,它给出了我的类别太少的错误。下面的示例使用虹膜数据。

data(iris)
p1 <- ggplot(iris, aes(x=Sepal.Length,y=Sepal.Width,color=Species)) + geom_point()
p1
p2 <- p1 + scale_color_manual(values=c("virginica"="gray"))
p2

错误:手动刻度中的值不足。需要 3 个,但仅提供 1 个。

是否可以只更改一个类别的颜色,而不考虑因素中的其他值?我不想为所有三个类别选择颜色,因为我实际使用的数据有 30-40 个类别,其中之一始终是“其他”。


基于这个帖子你可以得到ggplot具有此功能的颜色:

gg_color_hue <- function(n) {
  hues = seq(15, 375, length = n + 1)
  hcl(h = hues, l = 65, c = 100)[1:n]
}

所以在你的情况下:

cols = gg_color_hue(length(levels(iris$Species)))

然后重新编程要更改的颜色并将其用于绘图:

cols[levels(iris$Species)=="virginica"]="gray"
p2 <- p1 + scale_color_manual(values=cols)

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ggplot2:单独为一类着色 的相关文章

  • 反转默认比例梯度ggplot2

    我是新手 我正在尝试设计热图 这是我的代码 ggplot gd aes Qcountry Q6 1 Q6d order TRUE geom tile aes fill prob colour white theme minimal labs
  • 在 mts 对象上使用 Apply 系列函数

    在 mts 对象上使用 apply 或 sapply 会在发送到函数时删除其时间序列属性 我应该如何在 mts 对象中的每个时间序列上应用相同的函数 带有 ts 输入和 ts 输出 并返回它 最好是 mts 我的意思是除了使用 for 循环
  • Quarto/Rmarkdown 中的美人鱼图:狭窄且模糊

    我正在尝试生成 pdf 格式的四开文档 稍后会生成 word 格式 我遇到了美人鱼图的问题 请在下面找到一个示例 qmd 文件来说明该问题 所以首先它应该支持 mermaid 标签 但当我这样做时 我无法在 rstudio 中 运行 单元
  • 有效地将环境从内部功能转移到全局环境

    我有一个在其中创建环境的函数 我希望将该环境分配给全局环境 目前我通过将环境分配给来做到这一点globalenv 作为最后一步 如下 funfun lt function inc 1 dataEnv lt new env dataEnv d
  • ggplot 中跨组的连续线

    我有一个数据时间序列 其中观察了一些数据 模拟了一些数据 我想生成整个数据系列随时间变化的图 其中颜色表示数据源 但是 我只能弄清楚如何使 ggplot 中的 geom line 连接同一组中的点 这是一个例子来说明 Create samp
  • readRDS() 加载额外的包

    什么情况下会出现readRDS R 中的函数尝试加载包 命名空间 我很惊讶地在新的 R 会话中看到以下内容 gt loadedNamespaces 1 base datasets graphics grDevices methods sta
  • 将文本添加到 ggplot 中的轴标签

    我从下表中绘制了一个图表 BoatPhs fit se lower upper 1 Before 3 685875 0 3287521 3 038621 4 333130 2 After0 20NTA 3 317189 0 6254079
  • 使用 ggplotly(ggplot2 withplotly)时可以去掉注释中的跟踪标签吗?

    使用ggplotly时是否可以删除注释中的跟踪标签 例如 library ggplot2 library plotly g lt ggplot iris aes Sepal Width Sepal Length geom point ann
  • mclapply 用户时间大于已用时间

    我正在尝试使用mclapply的功能parallel封装在R 该函数通过计算对数似然距离将值分配给序列矩阵 这是一个 CPU 密集型操作 所结果的system time价值观令人困惑 gt system time mclapply work
  • 解释 survreg 中的威布尔参数

    我正在尝试使用从 R 中的 survreg 估计的参数生成逆威布尔分布 我的意思是 对于给定的概率 这将是在 MS Excel 中实现的小型模拟模型中的随机数 返回使用我的参数预计出现故障 的时间 我理解逆威布尔分布的一般形式是 X b l
  • 按绝对值排序

    有谁知道如何按绝对值对 R 中的向量进行排序 所以 2 3 1 gt 1 2 3 etc 如果我在 python 中这样做 我会创建一对每个值及其符号 按绝对值对对列表进行排序 然后重新应用符号 但我对 R 很陌生 所以不知道如何执行此操作
  • 如何用日语创建 ggplot2 标题?

    我正在准备日语演示文稿 并希望图像的标题和图例名称为日语 我可以让文本在 RStudio 中渲染得很好 但是当渲染图像时 日语字符仅显示为方框 x 10 10 y x x df data frame x y ggplot df aes x
  • 如何在R中逐行写入文件

    我正在尝试逐行读取 csv 文件 并且仅选择左侧的第二个和第三个单元格以及右侧的第三个单元格 例如 如果这一行中有 17 个单元格 我将选取第 15 个单元格 然后我想合并这 3 个单元格 用逗号分隔 然后将此行写入一个新的 csv 文件
  • 在捕食者-被捕食者系统的生态建模中正确使用 deSolve

    我有一个捕食者 被捕食者模型 其中包含指定的参数和初始值 我在这里用两种方法求解微分方程 1 使用 for 循环 2 使用 deSolve 包 我相信 for 循环是正确的 并且应该给出如下图所示的输出 For loop attempt r
  • R:在函数中包含循环?

    以下代码可用于创建一个 data frame 其中 Kendall Tau 和 Spearman 相关结果彼此相邻 data mtcars mtcars correlation lt function x y df1 cor data fr
  • 如何在multilist中设置xlim?

    以下代码创建 3 个向量 并将它们显示为交错直方图 a lt c 1 2 3 b lt c 1 1 2 c lt c 1 1 1 l lt list a b c multhist l col c red green blue xlim c
  • 使用亚毫秒日期时间从字符->POSIXct->字符准确转换

    我的文件中有一个字符日期时间列 我加载文件 到data table 并执行需要将列转换为的操作POSIXct 然后我需要写POSIXct值返回文件 但日期时间不会相同 因为打印不正确 这个打印 格式问题是众所周知的 并且已经被讨论过多次 我
  • R:如何更改ggvis闪亮应用程序中特定范围的绘图背景颜色

    I have a simple shiny app like below and you can run it The plots are created by ggvis and user can choose student name
  • 通过 r 中的组变量进行汇总

    我有一个数据框如下 head newStormObject FATALITIES INJURIES PROPVALDMG CROPVALDMG EVTYPE total 1 0 15 2 5e 05 0 TORNADO 15 2 0 0 2
  • DT数据表中的列对齐

    In my shiny我正在使用的应用程序datatable函数来自DT库构建一个表格并希望将列居中对齐 我可以用formatStyle column textAlign center 但它只影响列体而不影响标题 我们必须设置columnD

随机推荐

  • 为什么称为运算符重载?

    如果下面的课 Foo 被定义为 据说它超载一元与符号 操作员 class Foo public Foo operator return nullptr 我认为在这种情况下 不管你可以通过以下方式获取这样一个对象的地址 std address
  • 实际使用中最常见的非 BMP Unicode 字符有哪些? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 根据您的经验 到目前为止 哪些 Unicode 字符 代码点 BMP 基本多语言平面 之外的范围是最常见的 这些是需要 UTF 8 中的 4 个字节或 UTF 16 中的代理项
  • 用于 OpsCenter 备份到 S3 用户的 IAM 策略

    使用 OpsCenter 5 1 0 并尝试添加 S3 作为快照备份的位置 opscenter 用户在 AWS IAM 中需要哪些权限 到目前为止 我有以下政策 Statement Effect Allow Action s3 ListAl
  • CSS 过渡的视差效果

    是否可以通过CSS过渡来制作背景图像的视差效果 视差应该比滚动慢 所以需要做一些减慢的事情 是否可以用 css 来做到这一点 或者如果没有 如何最好地使用 js jquery 来做到这一点 我关心最佳性能脚本 因为我的网页有点过载 有人可以
  • 尽管一切看起来都正确,为什么 boost::serialize 不起作用? (“未注册类”)

    我对此感到好奇 我有一个 C 程序 其中包含许多源自共同根的数据结构 我需要使用 Boost 对它们进行序列化 每个都有一个内联成员函数来接受访问者 因此我可以在没有 switch 语句的情况下访问该结构 这些对象看起来像这样 在 h文件中
  • 错误:EPERM:不允许操作,scandir

    请问我正在运行一个反应本机项目 但是当我运行 npx react native run android 命令时 出现以下错误 error EPERM operation not permitted scandir C Users REO A
  • 在servlet中启动一个新线程

    当请求到达处理文件上传的 servlet 时 最好在该 servlet 中使用以下命令启动一个新线程 new Thread r start 它将处理上传文件附带的另一条数据 我希望这能够并行处理这两项工作 这不仅是一个坏主意 而且也行不通
  • 样式组件未在 React Iframe 中呈现?

    项目清单 我创建了一个 React Iframe 使用 react frame component 和一些样式组件 当我尝试在 React Iframe 内渲染样式组件时 样式组件继承了父级 App css 的样式 并失去了其独特的样式 是
  • IhttpActionResult 的 ASP.NET Core Web Api 错误

    我第一次尝试创建一个新的 Core Web API 应用程序 我使用的是核心2 2 我做了一些研究 但没有找到正确的答案 不确定我是否使用了错误的库 无法将类型 microsoft aspnetcore mvc okresult 隐式转换为
  • java.lang.ClassNotFoundException:javax.persistence.spi.PersistenceProvider

    我有一个使用 JPA 和 Hibernate 的应用程序 试图将其部署在 Tomcat 7 上 由于出现以下堆栈错误 我似乎没有正确包含所有库 SEVERE Servlet service for servlet Faces Servlet
  • 创建 IWebBrowser2 控件

    我只是想成功地将它添加到我的窗口中 但这却出奇地困难 我试过了 include windef h include winbase h include initguid h include ole2 h include olectl h in
  • Swift 中 UIViewController 的自定义初始化,并在 Storyboard 中设置界面

    我在为 UIViewController 的子类编写自定义 init 时遇到问题 基本上我想通过 viewController 的 init 方法传递依赖项 而不是像直接设置属性一样viewControllerB property valu
  • Laravel Blade - 自定义助手

    我有一个包含很多数字的表格 我想对所有数字使用数字格式 所以现在我有这个 tbody foreach table float chips amount as float tr td class no border td td class t
  • Google Play 游戏服务解锁成就 - 将解锁存储在游戏中还是每次都调用unlock()?

    我正在开发一款使用 Google Play 游戏服务的 Android 游戏 例如 当玩家达到 10000 分时 就会解锁成就 所以当玩家达到 10000 分时我会打电话 Games Achievements unlock 问题是当用户在另
  • 使用 jQuery 按名称定位输入字段

    我有一个如下所示的输入字段
  • 将正则表达式与数值和小数相匹配

    我需要将正则表达式与带小数的数字值相匹配 目前我有 0 9 d d 但它不占 00 我该如何解决这个问题 当前有效 1 1 0 1 33 00 当前无效 Alpha Character 您需要处理两种可能性 没有小数部分的数字和没有整数部分
  • 从实现结构中调用 C# 接口默认方法而不进行装箱

    我唯一能想到的是如下 这远非理想 interface IBar void Foo gt Console WriteLine Hello from interface struct Baz IBar compiler error void T
  • 我什么时候应该使用 Android 的每种不同消息类型?

    我一直在与Android一年多了 但我仍然无法确定何时应在进程 线程之间使用不同类型的消息传递 通信 我主要讲的是广播Intents 使用AIDL进行services 使用Handlers发送消息和socket通信 其中许多工具可用于完成类
  • Python检测USB驱动器然后分配驱动器号?

    问题就在这里 我们有数百个外部 500GB USB 驱动器 一年中 每次驾驶都会行驶到一个新的地点 自动检测 USB 驱动器已插入 Windows 系统并分配 Z 驱动器盘符的最佳方法是什么 这些 USB 驱动器将被插入许多不同的计算机中
  • ggplot2:单独为一类着色

    我正在生成一个散点图 其中我的类别之一是 其他 类别 我希望因子变量中的其他类别为任何颜色 但 其他 类别为灰色 当我尝试使用scale color manual 函数时 它给出了我的类别太少的错误 下面的示例使用虹膜数据 data iri