如何使用 ggrepel 抑制警告

2023-12-30

ggrepel允许通过排斥彼此太近的标签来避免文本标签重叠。
该算法取决于查看窗口大小,并且当窗口大小更改时会发生回调。
如果算法无法避免给定窗口大小的重叠,则会发出警告:

Warning messages:
1: ggrepel: 178 unlabeled data points (too many overlaps). Consider increasing max.overlaps

我想抑制这些警告,无论其值如何max.overlaps,因为它们可能会延迟并且断章取义。

延迟的原因可能是首次打印后或更改查看窗口宽度后的回调,请参见下面的示例:

library(ggplot2)
library(ggrepel)

N <- 50
data <- data.frame(x=1:N,y=rep(1,N),label =  paste0("Text",1:N))

ggplot(data)+
  geom_point(aes(x=x,y=y))+
  geom_text_repel(aes(x=x,y=y,label=label),hjust=0, vjust=0, box.padding = 0.5, max.overlaps = 20)

# If the viewing window width is OK, no warning!

#  Execute anything in console
1
#[1] 1
# This is OK!
# Now reduce window width with mouse

# No warning yet

# Execute anything in console
1
# Warning messages:
#   1: ggrepel: 41 unlabeled data points (too many overlaps). Consider increasing max.overlaps 
# 2: ggrepel: 41 unlabeled data points (too many overlaps). Consider increasing max.overlaps 
# 3: ggrepel: 41 unlabeled data points (too many overlaps). Consider increasing max.overlaps 
# 4: ggrepel: 47 unlabeled data points (too many overlaps). Consider increasing max.overlaps 
# 5: ggrepel: 47 unlabeled data points (too many overlaps). Consider increasing max.overlaps 
# 6: ggrepel: 47 unlabeled data points (too many overlaps). Consider increasing max.overlaps 
# 7: ggrepel: 47 unlabeled data points (too many overlaps). Consider increasing max.overlaps 
# 8: ggrepel: 47 unlabeled data points (too many overlaps). Consider increasing max.overlaps 
# 9: ggrepel: 47 unlabeled data points (too many overlaps). Consider increasing max.overlaps 
#[1] 1

I tried suppressWarnings and withCallingHandlers无济于事:

withCallingHandlers(
  suppressWarnings(ggplot(data)+
    geom_point(aes(x=x,y=y))+
    geom_text_repel(aes(x=x,y=y,label=label),hjust=0, vjust=0, box.padding = 0.5, max.overlaps = 20)
    )
,  warning=function(w) {
  if( any( grepl( "ggrepel", w) ) ) invokeRestart( "muffleWarning" )
})

您可以通过设置全局警告级别来忽略警告消息,如下所示:
options(warn=-1)

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

如何使用 ggrepel 抑制警告 的相关文章

  • 保存 d3heatmap 生成的热图

    我正在尝试保存由d3heatmap https github com rstudio d3heatmap转换为 pdf 文件 但文件总是损坏 library d3heatmap pdf file heat pdf d3heatmap mtc
  • 按钮:带滚动条的下载按钮仅下载几行

    我正在处理超过 100 000 行的表并使用DT包裹 开发版本0 1 56 在 Shiny App 中将其可视化 此外我正在使用DT扩展如下 Buttons 下载不同格式的数据 然而虽然Scroller扩展程序也已激活 我只能下载几行 不是
  • R:重新列出平面列表

    这个问题 https stackoverflow com questions 8139677有一个很好的解决方案 可以在保留列表数据类型的同时展平列表 其中unlist才不是 flatten function x unlist vector
  • 添加不同 data.frame 中缺失的列并填充 0 [重复]

    这个问题在这里已经有答案了 我有以下情况 df1 a b c d 1 2 3 4 df2 a c 5 6 我想要的结果是 用 df1 中缺失的列填充第二个 data frame 并用零填充它们 所以结果应该是 df3 a b c d 5 0
  • 查找表中第三个四分位数以上的频率

    我有一个大数据框架 对 57 个变量的超过 239k 观察值 其中包含一些疾病描述以及针对不同年龄段的人针对这些疾病使用的药物 我想在每种疾病描述的使用频率前四分之一中找到这些药物 为了制作一个可重现的示例 我创建了一个包含 1000 个观
  • R Shinydashboard 根据选项卡选择显示/隐藏 UI 元素

    如果有人可以提供帮助 我正在努力满足要求 我必须根据用户的选项卡面板选择在仪表板侧栏上显示 隐藏一些元素 这是 UI 代码的一部分 可让您了解我的应用程序的结构 我需要仅在 tabpPanel 2 上显示 Fourthoutput Fift
  • R - Rstudio - 如果生成警告/错误,则使 R 播放声音

    我正在运行一个循环遍历股票对组合列表的脚本 偶尔 由于对组合之间的数据长度不同而产生错误 脚本会停止运行 我只是将不匹配的股票从考虑中删除 Error in model frame default formula stckY stckX 0
  • 加载 plyr 包时出现问题

    我使用 R 2 13 1 但未能成功尝试在 R 中加载包 plyr 1 6 我已将其手动安装到目录 R library 中 我的代码是 libPaths R library library plyr 我收到消息 库 plyr 中的错误 pl
  • 将一个数据框中的行(带有行名称)与另一个数据框中的匹配列名称相乘

    我有两个数据框 df1 lt data frame Values c 0 01 0 05 row names c X Y df1 Values X 0 01 Y 0 05 df2 lt data frame c 0 1 1 c 1 0 0
  • rgdax(coinbase)数据未按预期收集数据

    我正在尝试使用rgdaxR 包用于下载一些历史价格 我设置了 API 密钥等 并尝试在过去 24 小时内加载 start lt strftime Sys time Y m dT H M SZ tz UTC end lt strftime S
  • 将 RMarkdown 文档编织为 Word 时方程式和引用丢失

    我不确定这个问题是否更适合LaTeX论坛 我将其发布在这里是因为我怀疑问题更多是关于knitr和 RMarkdown 相比于 LaTeX 我在 RStudio 中有以下 RMarkdown 文档 title Capricious Behav
  • 使用两列数据分割数据帧并对结果数据帧列表应用通用转换

    我想根据两列中的值将一个大数据帧拆分为一个数据帧列表 然后 我想对结果列表中的所有数据帧应用通用数据转换 滞后转换 我知道 split 命令 但只能让它一次处理一列数据 您需要将所有想要分割的因素放在一个列表中 例如 split mtcar
  • ajax 成功后循环 JSON 响应

    抱歉 这是重复的here https stackoverflow com questions 733314 jquery loop over json result from ajax success问过 但我对此很陌生 所以我想知道该怎么
  • 使用shinyjs通过javascript在闪亮的应用程序中操作现有的Leaflet地图

    我有一个闪亮的应用程序 其中包含现有的传单地图 我希望能够在渲染后使用自定义 javascript 通过shinyjs包裹 一个最小的例子如下 app R packages library dplyr library leaflet lib
  • 仅当 ggplot 中 y 轴的下限设置为 0 时才会出现图条[重复]

    这个问题在这里已经有答案了 我正在尝试创建一个条形图 当我将限制设置为 0 7 时 就会出现条形 但是 我希望下限为 1 而不是 0 当我将下限设置为 1 时 条形图不会出现 我收到以下错误消息 Removed 8 rows contain
  • 基于列重复数据集中的行,但增加行[重复]

    这个问题在这里已经有答案了 我有一个数据集 其中包含项目名称 开始年份和合同期限 我需要将这个数据集开发成时间序列 例如 我的数据集中的一行是 项目 A 开始年份 2003 年 合同期限 5 我想根据合同期限重复每一行 我的数据集如下所示
  • 将公式传递给 R 中的函数?

    对此的任何帮助将不胜感激 我正在使用 Lumley 调查包 并试图简化我的代码 但遇到了一些小障碍 在我的代码中调用包中的 svymean 函数如下 其中第一个参数是指示我想要哪些变量的公式 第二个参数是该数据集 svymean hq eh
  • 提取模型摘要并将其存储为新列

    我是新来的purrr范例并正在努力解决它 根据一些来源 我已经设法嵌套一个数据框 在嵌套数据上运行线性模型 从每个 lm 中提取一些系数 并为每个 lm 生成摘要 我想做的最后一件事是从摘要中提取 r squared 我原以为这将是我想要实
  • 如何根据值扩展数据框? [复制]

    这个问题在这里已经有答案了 我有以下输入数据框 df lt data frame x c a b c y c 4 5 6 from c 1 2 3 to c 2 4 6 df x y from to 1 a 4 1 2 2 b 5 2 4
  • 在另一列的字符串中搜索一列中的文本

    这里是 R 新手 一直在搜索此论坛 尝试找到一种在同一行数据的字符串中搜索文本的方法 我以前使用过 grepl 但无法让它向下查找列并对每一行应用检查 我觉得这是一个简单的解决方案 但我花了几个小时 但似乎无法得到它 基本上我有类似下面第

随机推荐

  • 在 Protractor / E2E 测试中访问 $http 数据 (AngularJS)

    我有一堆进展顺利的单元测试 并且我已经开始将 Protractor E2E 测试添加到我的项目中 我在页面上测试交互元素做得很好 但在测试从浏览器发送的某些数据时遇到问题 例如 我想看看点击某个按钮是否会产生一个POST到某个端点 我使用以
  • 如何删除 BottomBar jetpack compose 中选定的椭圆形项目颜色

    我想删除所选项目后面的蓝色椭圆形颜色 我怎样才能做到这一点 NavigationBarItem selected selected onClick onClick icon if selected selectedIcon else ico
  • 如何使用具有 2 个或更多根的 try_files

    我看了一遍又一遍 发现没有这样的实现 我想知道我正在尝试的是否可能 我有 3 个提供静态内容的相对路径 Path1 usr local www style1 static Path2 usr local www style2 static
  • 视图控制器调用 awakeFromNib 两次

    我面临着这个奇怪的问题 我不确定我哪里出了问题 情况 我有一个 MainWindowController 类 它将加载要显示的正确笔尖 我创建了一个对象并将其更改为 IB 中的 MainWindowController 类 并将其与 Mai
  • 如何在 Keras 中找到错误的预测?

    我构建了一个 Keras 模型 用于从文本输入的原始输入中提取信息 我得到的准确度为 0 9869 我如何知道哪些训练数据导致准确性降低 我已将我正在使用的代码粘贴在下面 import numpy as np from keras mode
  • 如何遍历 json 响应?

    我有这个 json 响应 我正在尝试遍历它以获取天气条件 例如 湿度 和 温度 C 等 我尝试了一些方法但没有成功 data current condition cloudcover 50 humidity 44 observation t
  • 删除指针是否也会删除它所指向的内存?

    如果我有一个像这样的指针 int test new int 我创建了另一个指向的指针test像这样 int test2 test 然后我删除test2 delete test2 这是否意味着它将删除test以及 或者我必须打电话delete
  • 动画完成后所有 UIElement 都变得不可访问

    我正在尝试通过具有每个灯光坐标的 CGRect 数组来实现城市灯光动画 然后围绕这些 CGRect 创建 UIView 这个逻辑 感谢Darren https stackoverflow com users 1077601 darren用于
  • 如何以八度音程抑制命令的输出?

    在 Octave 中 我可以抑制或隐藏在行末尾添加分号的指令的输出 octave 1 gt exp 0 1 ans 1 0000 2 7183 octave 2 gt exp 0 1 octave 3 gt 现在 如果函数显示文本 例如使用
  • 遍历批处理文件中的文件夹和文件?

    这是我的情况 项目的目标是将一些附件迁移到另一个系统 这些附件将位于父文件夹中 比方说 Folder 0 see 这个问题的图 https serverfault com questions 147902 windows command l
  • PHP:简单的正则表达式来匹配长度?

    我正在创建一个注册系统 需要使用 REGEX 并且更喜欢 检查姓名 通行证等 到目前为止我得到的是 Check so numbers aren t first such as 00foobar preg match d a z0 9 iD
  • “@reify”有什么作用以及何时使用?

    我在用户体验设计金字塔教程 http docs pylonsproject org projects pyramid tutorials en latest humans creatingux step06 index html 我不太明白
  • 使用 Angular-cli 在 Angular2 中进行本地化

    Angular 有没有本地化工具2使用时Angular cli 我遇到了这个链接 https devblog dymel pl 2016 11 03 angular2 and i18n translate your app 从 11 月开始
  • 安装 AllegroServe

    我目前正在阅读 Peter Seibel 的书 Practical Common Lisp 正在阅读第 26 章 Web 编程 在第 366 页 它说 第一步是将 AllegroServe 代码加载到 Lisp 图像中 在 Allegro
  • Android 上的 libcurl CURLE_SSL_CACERT_BADFILE 错误

    所以我尝试将 libcurl 与 JNI 一起使用 但它返回 CURLE SSL CACERT BADFILE 错误 这是我的代码 JNI 端 static size t WriteCallback void contents size t
  • Tkinter 在 Frames 中添加菜单栏

    我正在使用此处答案中发布的代码在 tkinter 中的两个框架之间切换 https stackoverflow com questions 7546050 switch between two frames in tkinter作者 Bry
  • Javascript:如何删除for循环中的最后一个逗号

    如何从此函数中删除最后一个逗号 for var i 0 i lt 100 i if i 2 0 div innerHTML l else div innerHTML 首先 使用数组而不是字符串来求和字符串 这样速度更快 第二 var arr
  • 如何制作长度为5的随机数字和字母字符串? [复制]

    这个问题在这里已经有答案了 可能的重复 这是生成随机字符字符串的好方法吗 https stackoverflow com questions 976646 is this a good way to generate a string of
  • jQuery ui Sortable 可以表现得像 gridster 吗?

    是否可以得到jQuery ui 可排序网格 http jqueryui com sortable display grid表现得像gridster http gridster net 为什么不使用网格斯特 因为它不适用于 IE9 以下的任何
  • 如何使用 ggrepel 抑制警告

    ggrepel允许通过排斥彼此太近的标签来避免文本标签重叠 该算法取决于查看窗口大小 并且当窗口大小更改时会发生回调 如果算法无法避免给定窗口大小的重叠 则会发出警告 Warning messages 1 ggrepel 178 unlab