在 geom_密度_脊上画线

2023-12-11

我试图在 ggridges 的密度图中画一条线

library(ggplot2)
library(ggridges)
ggplot(iris, aes(x = Sepal.Length, y = Species)) + 
  geom_density_ridges(rel_min_height = 0.01)

指示最高点并标记该点的 x 值。像下面这样的东西。非常感谢任何有关实现此目标的建议

enter image description here


一种巧妙的方法是询问 ggplot 对象本身并使用它来构造附加功能:

# This is the OP chart
library(ggplot2)
library(ggridges)
gr <- ggplot(iris, aes(x = Sepal.Length, y = Species)) + 
  geom_density_ridges(rel_min_height = 0.01)  

编辑:下一部分已被缩短,使用purrr::pluck来提取整个data列表的一部分,而不是手动指定我们稍后需要的列。

# Extract the data ggplot used to prepare the figure.
#   purrr::pluck is grabbing the "data" list from the list that
#   ggplot_build creates, and then extracting the first element of that list.
ingredients <- ggplot_build(gr) %>% purrr::pluck("data", 1)

# Pick the highest point. Could easily add quantiles or other features here.
density_lines <- ingredients %>%
  group_by(group) %>% filter(density == max(density)) %>% ungroup()

# Use the highest point to add more geoms
ggplot(iris, aes(x = Sepal.Length, y = Species)) + 
  geom_density_ridges(rel_min_height = 0.01) +
  geom_segment(data = density_lines, 
               aes(x = x, y = ymin, xend = x, 
                   yend = ymin+density*scale*iscale)) +
  geom_text(data = density_lines, 
            aes(x = x, y = ymin + 0.5 *(density*scale*iscale),
                label = round(x, 2)),
            hjust = -0.2) 

enter image description here

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

在 geom_密度_脊上画线 的相关文章

随机推荐

  • 从 C 中现有的一维数组创建二维数组?

    在 perl 中 我可以创建一维数组 然后从它们创建二维数组 如下所示 a1 a b c a2 d e f a3 g h i m23 v1 a1 a2 a3 这是另一种方法 假设 a1 a2 and a3与前面的示例相同 m23 v2 a1
  • 使用 AFHTTPRequestOperationManager 时响应失败

    当我尝试使用准确的用户名和密码调用 API AFHTTPRequestOperationManager 进行身份验证方法时 获得准确的响应并且方法成功 然后我尝试使用无效的用户名和密码 但得到的响应是失败 我尝试了 ASIHTTPReque
  • Vulkan 中的 VKAPI_ATTR 和 VKAPI_CALL 宏

    我一直在寻找但我仍然不确定what VKAPI ATTR and VKAPI CALL是 我不确定它们是否应该是一个宏或一些我不知道的奇特的 C 函数声明 What is VKAPI ATTR void VKAPI CALL vkComma
  • 如何以编程方式从 .NET 中注册类型库(设置正确的路径)?

    使用 NET 4 0 我制作了一个支持COM的DLL 我们称之为example dll 并且我已经注册它并使用regasm exe生成了相应的类型库 regasm exe tlb codebase example dll 该类型库称为 ex
  • 如何停止我的服务?

    另请参阅编辑 2 如下 我已经延长了NotificationListenerService并实现了它的几种方法 包括onDestroy 方法 但不是onBind or onStartCommand 方法 因为据我所知 我不需要它们 然而当我
  • Corba ORBD 错误

    我正在使用 CORBA 开发一个简单的远程管理工具 这是我的服务器代码 To change this template choose Tools Templates and open the template in the editor p
  • 按索引将 tr 移动到新位置

    我有一个具有固定行布局的表 每行都有唯一的标识符 当数据从数据库返回时 该表中的行具有不同的顺序 返回的数据具有与固定布局中存在的相同索引 因此我可以在固定表中找到匹配的行 我需要移动固定表布局中的行以匹配数据中的行顺序 表格布局 tabl
  • 如何使用cmake创建共享库?

    我写了一个库 以前是用自己写的Makefile编译的 但现在想改用cmake 树看起来像这样 我删除了所有不相关的文件 include animation h buffers h vertex h world h src animation
  • Plotly Facets 无法正确翻译

    我发现 使用 R 的 Plotly 当我分面绘图时 它们通常无法正确地从 R 转换为 Plotly 例如 我在 R 中绘制的图表如下所示 当我将它发送到plotly时 它看起来像这样 出于保密原因 一些数据在两个图中均被隐藏 我的代码看起来
  • 如何将MAC地址转换为对应的IP地址?

    我正在寻找一种简单的方法将 MAC 地址转换为本地网络中相应的 IP 地址 就我而言 只有两个设备 一台非常普通的 PC 192 168 0 1 和一台在 ROM 中硬编码了任意 IP 地址 192 168 0 xxx 的科学仪器 PC 和
  • UIImageView .scaleAspectFit 和自动布局无法从 Swift 以编程方式工作

    我有几个部分透明的 PNG 叠加层 可以在视图中相互叠加显示 覆盖的数量根据运行时条件而变化 我想创建UIImageViewSwift 中的实例并将它们添加到视图中 添加时我没有任何问题得到我想要的行为UIImageView在故事板中并通过
  • Python 相当于 JavaScript 函数对象

    我想知道是否有Python相当于这个JavaScript构造 var myFunctions greet function name return Hello name farewell function time return See y
  • SHA1 C# 相当于此 Java

    在 C 中寻找与此方法相同的等效项 try MessageDigest md MessageDigest getInstance SHA 1 md update password getBytes BigInteger hash new B
  • 非英文字符在我的 php 页面上显示为问号 - 在数据库中显示正常

    我有一个 MySQL 数据库表 其中填充了非英语数据 当我在 Navicat MySQL 浏览器中查看数据时 数据显示正常 但是 当我运行 php 脚本来选择并在网页上显示数据时 它会显示问号 页面编码设置为 utf8 甚至 MySQL 排
  • 如何在Matlab中进行GF(2)的逆运算和GF(256)的乘法?

    我有一个二进制矩阵A only 1 and 0 和一个向量D在伽罗瓦域 256 向量C计算如下 C A 1 D where A 1表示矩阵的逆矩阵A in GF 2 是乘法运算 结果向量C必须在GF 256 我尝试用Matlab来做 A 1
  • Windows 身份验证的 asp.net mvc 应用程序中每个资源(2 x 401.2 和 1 x 200)有 3 个请求

    当我拉出 Fiddler 并意识到每个请求都被发送了 3 次 两次我得到 401 2 然后成功 时 我试图找出为什么我的网站在 IE9 中如此缓慢 我验证了这种情况在所有浏览器上都会发生 只是 Chrome 的速度掩盖了这一点 或者这可能与
  • 递归斐波那契函数(带负数)

    我可以为所有大于 0 的数字编写递归斐波那契函数 但该函数对于任何负数都是完全错误的 知道如何在 C 中实现这个吗 int fibonacci int n if n 0 return 0 if n 1 return 1 return fib
  • Vagrant 端口转发不起作用

    我已经在我的电脑上安装了 CouchDBvagrant 0 9 0正在运行的盒子CentOS 6 2 In 流浪文件我已经添加config vm forward port 5984 5985 重新加载流浪汉后 我尝试卷曲地址 curl v
  • 如何在C++中将较大的字符串减少为较小的字符串?可能是通过散列?

    我想在 C 中将较大的字符串压缩为较小的字符串 在 C 中执行此操作有哪些不同的方法 要求是输出也应该是字符串 好吧 如果您以后不需要解压缩它 string s xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx s E
  • 在 geom_密度_脊上画线

    我试图在 ggridges 的密度图中画一条线 library ggplot2 library ggridges ggplot iris aes x Sepal Length y Species geom density ridges re