ggplot2 中的默认中断 - 图例指南和极坐标 y 轴标签的中断限制在哪里

2023-12-14

这本质上是一个后续问题ggplot 如何计算其默认中断?当我试图找到一个稍微更优雅的解决方案时,我遇到了这个如何在coord_极坐标图ggplot中添加y轴标签?.

显然,休息时间总是用以下方式计算scales::extended_breaks。然而,极坐标以及连续数据的图例指南似乎消除了这些中断的限制。

这种情况发生在哪里?

library(ggplot2)

ggplot(mtcars, aes(x = mpg, y = mpg, size = hp)) +
  geom_point() +
  coord_polar() +
  labs(color = 'am')

Compare with


scales::extended_breaks()(mtcars$mpg)
#> [1] 10 15 20 25 30 35
scales::extended_breaks()(mtcars$hp)
#> [1]  50 100 150 200 250 300 350

Created on 2023-04-01 with reprex v2.0.2


正如我在评论中提到的,非位置尺度指南和coord_polar是规模或者更准确地说是限制没有扩大。为了coord_polar即使默认扩展设置为零,这发生在CoordPolar$setup_panel_params:

...
if (self$theta == n) {
  expansion <- ggplot2:::default_expansion(scale, c(0, 0.5), c(0, 0))
} else {
  expansion <- ggplot2:::default_expansion(scale, c(0, 0),   c(0, 0))
}
...

因此,返回的下限和上限中断scales::breaks_extended通常会被丢弃,因为它没有落入限制之内。

也就是说,一种选择是延长limits或使用自定义函数,该函数通过计算limits as range(scales::breaks_extended()):

library(ggplot2)

limits_extended <- function() {
  function(x) {
    range((scales::breaks_extended())(x))
  }
}

ggplot(mtcars, aes(x = mpg, y = mpg, size = hp)) +
  geom_point() +
  scale_x_continuous(limits = limits_extended()) +
  scale_y_continuous(limits = limits_extended()) +
  scale_size(limits = limits_extended()) +
  coord_polar() +
  labs(color = 'am')

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

ggplot2 中的默认中断 - 图例指南和极坐标 y 轴标签的中断限制在哪里 的相关文章

  • Plotly legendgroup 用于子图,以便单个图例控制所有图表

    我在用着plotly in r生成许多 子图 下面显示了一个玩具示例 library shiny library dplyr library plotly Toy Example ui lt fluidPage h3 Diamonds pl
  • r + dplyr 过滤时间序列

    我有一些数据观察了一群人以及他们随时间推移所吃的水果 我想使用 dplyr 来观察每个人 直到他们吃香蕉并总结他们吃的所有水果直到他们吃第一根香蕉 data data lt structure list user c 1234L 1234L
  • 如何有效地将多个 rgl 图连接成一个图?

    我用以下命令制作了 3D 绘图rgl打包我的数据的每个因子级别并将它们保存为 png 我的数据有 30 个不同的级别 从而产生了 30 个不同的图像文件 现在我想将这些 png 合并成一个图 我会这样显示它们 下面的例子说明了我想做的事情
  • 计算一行中某些单元格中有多少个值不为 NA(在 R 中)

    我有一个包含很多列的数据框 对于数据帧的每一行 我想计算有多少列是 NA 的 问题是我只对其中的几列感兴趣 并且想要 有效地 调用这些列 按照我在下面的假样本中所做的方式使用 mutate 给了我正确的答案 library stringr
  • 将 cummean 与 group_by 一起使用并忽略 NA

    df lt data frame category c cat1 cat1 cat2 cat1 cat2 cat2 cat1 cat2 value c NA 2 3 4 5 NA 7 8 我想在上面的数据框中添加一个新列 它采用的累积平均值
  • r 选择数据框中某个值以下和之后的值

    我有一个问题如何从表中选择某些值 我有一个包含时间和值的表 我想在特定时间之后获取下面的行 示例 Data Frame Time Value 02 51 0 08033405 05 30 0 43456738 09 45 0 3605207
  • 数据表中的最大行数

    我的 data table 中有一个包含 8 000 000 行 100 列的数据集 其中每列都是一个计数 我需要找到每行的最大计数以及该最大值位于哪一列 我可以使用以下命令快速获取每行的哪一列具有最大值 dt lt dt maxCol w
  • 测试 PCA 图上簇的显着性

    是否可以在 PCA 图上测试 2 个已知组之间聚类的显着性 测试它们的接近程度或分布量 方差 以及簇之间的重叠量等 这是一种定性方法 使用ggplot 在簇周围绘制 95 置信椭圆 注意stat ellipse 使用二元 t 分布 libr
  • 将函数应用于因子相关子矩阵

    我有一个对称矩阵 数据框 看起来像 structure list HQ673618 1 c NA 90 8 89 8 89 6 89 8 88 9 87 8 88 2 88 3 HQ674317 1 c 90 8 NA 98 6 97 7
  • 更改 geom_text 的默认“a”图例以标记字符串本身

    类似于这个问题 https stackoverflow com questions 18337653 remove a from legend when using aesthetics and geom text 我想更改图例中的默认 a
  • 为什么连接终止

    我正在尝试使用随机森林分类模型H2OR 内部的库 训练集有 7000 万行和 25 个数字特征 总文件大小为 5 6 GB 验证文件的大小为 1 GB 我的系统有 16 GB RAM 和 8 核 CPU 系统成功读取 H2O 对象中的两个文
  • R ggplot2 比例 alpha 离散以显示在图例中

    我正在尝试绘制两个因素 压力和性别 的图 并使用 alpha 值来传达性别 这是我的代码和结果图 ggplot subset df zfish data overall long day day 01 measure distance fr
  • 在 expr *之前*执行的任务处理程序

    是否有运行代码的回调before提示输入expr被评价 通过 SO CRAN 和一些谷歌搜索发现了我怀疑的答案 当前的 REPL 实现不可能 如果我错过了类似详细的重复讨论 我深表歉意 我对addTaskCallback 及其函数族 正在阅
  • 如何在R中对多个时间序列应用dtw算法?

    Problem 我有不同车辆速度的时间序列 我的最终目标是根据不同车辆在时间上的速度相似性对它们进行聚类 因此 我基本上需要生成一个距离矩阵 其中每个单元格包含一对车辆速度时间序列之间的距离 我想使用动态时间扭曲 dtw 作为距离度量 所以
  • 如何制作 POSIXct 的空向量

    我想制作一个空向量POSIXct这样我就可以放一个POSIXct in it vec lt vector POSIXct 10 vec vec 1 lt 2014 10 27 18 11 36 PDT vec 那是行不通的 有任何想法吗 由
  • R 复平面上的多重根

    我一直在尝试找到一个返回方程的所有复数解的函数 例如 16 1 4 2 i0 2 i0 0 i2 0 i2 就目前情况而言 如果我输入16 1 4 进入控制台 它只返回 2 我可以为此编写一个函数 但我想知道在 R 中是否有一种简单的方法可
  • 如何在 purrr::map_df 之后使用映射向量添加列

    我使用 mtcars 数据集作为示例来说明我的问题 我对每种气缸类型进行了线性回归 并使用 map df 将所有模型结果放在一起 下面的代码和输出 我想要做的是添加另一列名为 圆柱体 4 4 6 6 8 8 我怎样才能在map df中做到这
  • 按字符分隔字段中的变量

    我最近问了这个问题单独的字段内容 https stackoverflow com questions 53309849 separate contents of field并得到了一个非常快速且非常简单的答案 我在 Excel 中可以简单地
  • 如何在 bookdown 定理或示例环境中使用内联 R 代码

    我使用 bookdown 生成 html 和 PDF 文档 如何在定理和示例环境中使用内联 R 代码的结果 这是我尝试过的 title Test output bookdown pdf book toc false html documen
  • 合并行并用 group_by 和? 填充空位置

    对 R 编码非常陌生 我一直在尝试使用 dplyr 中的 group by 格式化 合并 df 中的行 然而 我还没有完全做到这一点 这是我的数据表的简化 前三个条目共享相同的 id 最后两个条目共享相同的 id ID Assay1 Ass

随机推荐