如何在 R 上为每个方面(条形图)注释不同的值?

2023-12-01

我想知道如何注释条形图中的每个方面。现在,我正在使用 geom_signif 函数,该函数工作完美,只是它将一个面上的注释复制到另一个面上。

我的代码是这样的:

geom_signif(annotation = c("p=0.01"),
            y_position = c(9), xmin = c(2), xmax = c(3))

我的条形图:

enter image description here

请指教。我在这里阅读了一些类似的解决方案,尝试了一些其他方法,但我似乎仍然无法弄清楚。这是迄今为止我得到的最接近和最简单的解决方案,除了我想要 2 个不同的注释(标签在这种情况下,p 值 - 我在各个方面分别运行了方差分析。


这是通过手动解构绘图并使用新注释进行重建来完成此操作的示例。我理解它是因为你想要每个图的手动文本注释。这个(非常手动的)解决方案基于另一个答案,如何将 p 值注释到 R 上的分面条形图上?,这可能正是您正在寻找的。

df <- data.frame(iris,type = c(1,2))

## Construct your plot exactly as you have already done
## Annotations are replicated.
myplot <- ggplot(df, aes(x=Species,y = Sepal.Length)) + 
    geom_boxplot() + 
    facet_grid(.~type) + 
    geom_signif(annotation = c("foo"),xmin = 1, xmax = 2,y_position = 7.5)
myplot

Original output with repeated annotations

## Disassemble plot
myplot2 <- ggplot_build(myplot)
myplot2$data[[2]]
 x xend     y  yend annotation group PANEL shape colour textsize angle hjust vjust alpha family fontface lineheight
1 1    1 7.392 7.500        foo     1     1    19  black     3.88     0   0.5     0    NA               1        1.2
2 1    2 7.500 7.500        foo     1     1    19  black     3.88     0   0.5     0    NA               1        1.2
3 2    2 7.500 7.392        foo     1     1    19  black     3.88     0   0.5     0    NA               1        1.2
4 1    1 7.392 7.500        bar     1     2    19  black     3.88     0   0.5     0    NA               1        1.2
5 1    2 7.500 7.500        bar     1     2    19  black     3.88     0   0.5     0    NA               1        1.2
6 2    2 7.500 7.392        bar     1     2    19  black     3.88     0   0.5     0    NA               1        1.2
  linetype size
1        1  0.5
2        1  0.5
3        1  0.5
4        1  0.5
5        1  0.5
6        1  0.5
## Note there are 6 observations, 3 for each "PANEL". 
## Now, change the annotation on each "PANEL".
myplot2$data[[2]]$annotation <- c(rep("foo",3),rep("bar",3))

## Reconstruct plot
myplot3 <- ggplot_gtable(myplot2)
plot(myplot3)

Edited output

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

如何在 R 上为每个方面(条形图)注释不同的值? 的相关文章

随机推荐

  • 函数指针、闭包和 Lambda

    我现在刚刚学习函数指针 当我阅读有关该主题的 K R 章节时 我首先想到的是 嘿 这有点像闭包 我知道这个假设在某种程度上从根本上是错误的 在网上搜索后我没有找到任何对此比较的分析 那么为什么 C 风格的函数指针与闭包或 lambda 有根
  • 为什么“gem”和“sudo gem”有不同的安装目录?

    我记得我用过gem install rails安装 Rails 但今天当我想安装另一个 gem 时 输入 gem install ruby recaptcha 它失败了 说 您没有写入权限 然后我找到了我的gem environment a
  • Angularjs 中的克隆元素

    我需要复制一些输入字段才能处理来自客户端的数据 我已经用 jQuery 完成了http jsfiddle net m7R3f 1 HTML fieldset div class pure g entry div class pure u 1
  • 函数中的中断和继续

    def funcA i if i 3 0 print Oh No print i break for i in range 100 funcA i print Pass print i 我知道上面的脚本行不通 那么 如果我需要将带有brea
  • Javascript window.open() 函数打开链接而不使用弹出窗口拦截器

    JavaScriptwindow open 函数打开链接而不使用弹出窗口拦截器 我想从 javascript 打开一些链接window open 功能 但在 firefox chrome safari 上被阻止 如何通过 javascrip
  • 非英语语言的推送通知

    我已经成功实现了这段代码 有谁知道如何用 C 编写 Apple 推送通知提供程序 效果很好 但我有一个问题 有人可以帮助我如何发送希伯来语或阿拉伯语等非英语消息吗 如果字符串包含任何非英文字符 则不会发送 谢谢 我找到了解决方案 长度错了
  • 在 Python 中使用 urlopen() 防止“隐藏”重定向

    我在用美丽汤对于网页抓取 我在使用时遇到特定类型网站的问题urlopen 网站上的每个项目都有自己独特的页面 并且项目有不同的格式 例如 500 毫升 1 升 2 升 当我打开产品的 URL 时 www example com produc
  • 无法使用 fetchkml 函数将本地 KMZ 文件加载到具有 google Earth 插件的浏览器中

    我们有一个 KMZ 文件 可以很好地加载到 Google 地球桌面应用程序中 没有错误 当我们尝试使用 Google Earth 插件来做同样的事情时 它甚至不会从fetchKml功能 我们需要了解使用的任何特殊设置fetchKml在本地文
  • 如何使用 Qt 创建暂停/等待函数?

    我正在玩Qt 我想在两个命令之间创建一个简单的暂停 但它似乎不会让我使用Sleep int mili 而且我找不到任何明显的等待函数 我基本上只是制作一个控制台应用程序来测试一些类代码 这些代码稍后将包含在适当的 Qt GUI 中 所以现在
  • 编译器为内在函数生成的程序集的问题

    我正在使用英特尔 SSE AVX FMA 内在函数来实现某些数学函数的完美内联 SSE AVX 指令 给出以下代码 include
  • 在 BLE 中随机化 Mac 地址

    我制作了一款将 iOS 设备变成信标的应用程序 现在 当我从 Android 设备扫描 BLE 设备时 我在扫描列表中找到了该 iOS 设备 但问题是每次我都得到随机的 Mac 地址 所以 我的问题是 这种默认行为是否意味着获取随机 mac
  • pine 脚本中 := 和 = 运算符之间的区别

    我对 TradingView Pine 脚本非常陌生 我没有找到合适的参考来理解两者之间的区别 and 运营商 有人有参考或描述吗 提前致谢 用于声明和初始化变量 用于在初始化后为变量赋值 将其转换为 可变变量 任何不可变变量 follow
  • 如何在 iPhone 中裁剪图像

    我想做同样的事情this问题 在我的应用程序中 我想像在 Facebook 中进行图像裁剪一样裁剪图像 任何人都可以通过优秀教程的链接或任何示例代码来指导我 我提供的链接将完整描述我的要求 您可以创建具有任何属性的新图像 这是我的功能 女巫
  • 顺序索引的填充因子为 PK

    Yes fillfactor再次 我花了很多时间阅读 但无法决定哪种方案最适合每种情况 我不明白碎片何时以及如何发生 我正在将数据库从 MS SQL Server 迁移到 PostgreSQL 9 2 Case 1 在顺序 串行 PK 中每
  • Android 应用程序中的 JPEG 硬件解码支持

    我的 Android 应用程序需要在 Android 2 2 手机 及更高版本 上解码基于大分辨率的 JPEG 图像 目前我正在使用 BitmapFactory decodeStream API 即 SKIA 库来解码流 1 据我所知 SK
  • android.os.ServiceSpecificException:GPIO2_IO02 已在使用中(代码 16)

    我正在研究 android 的东西 Pico i MX7D I O 我得到了android os ServiceSpecificException GPIO2 IO02 已在使用中 代码 16 异常 这是什么意思 请帮我 我的示例程序是从克
  • Spring中有Spring惰性代理工厂吗?

    Wicket 有一个称为惰性代理工厂的设备 鉴于
  • 调整 ctypes 数组的大小

    我想调整 ctypes 数组的大小 如您所见 ctypes resize 无法正常工作 我可以编写一个函数来调整数组大小 但我想知道一些其他解决方案 也许我错过了一些 ctypes 技巧 或者也许我只是错误地使用了调整大小 名称 c lon
  • 在 Javascript 中向 css 样式属性添加 1

    我试图首先获取元素的 order 属性的值 然后在单击按钮时向其添加 1 问题是 我得到的是 11 而不是得到 1 再加上 1 再得到 2 运算符不应该添加这些值吗 我究竟做错了什么 carouselPrev addEventListene
  • 如何在 R 上为每个方面(条形图)注释不同的值?

    我想知道如何注释条形图中的每个方面 现在 我正在使用 geom signif 函数 该函数工作完美 只是它将一个面上的注释复制到另一个面上 我的代码是这样的 geom signif annotation c p 0 01 y positio