用 ggplot2 注释 R 中的矩形以获得对数刻度的图形

Posted

技术标签:

【中文标题】用 ggplot2 注释 R 中的矩形以获得对数刻度的图形【英文标题】:Annotating a rectangle in R with ggplot2 for a graph in log scale 【发布时间】:2022-01-19 00:32:52 【问题描述】:

我正在尝试通过 ggplot2 为 R 中的一个矩形注释一个对数比例的图形。这是我要添加的注释层:

annotate("rect",xmin=293.3, xmax=312, ymin=-Inf, ymax=Inf, fill='gray')

当然,我知道负无穷大会导致问题,因为它是对数刻度并且没有负值。由于我预先指定了我对 y 尺度的限制,因此有人对如何使用这种方法或其他方法创建一个“负无穷大”到无穷大矩形有任何想法吗?

【问题讨论】:

对数刻度不取负值。将 ymin 更改为 0 就可以了。 【参考方案1】:

R 将log(0) 提供为-Inf,因此您可以在登录时使用ymin = 0 生成-Inf

内置数据演示:

ggplot(mtcars, aes(x = wt, y = mpg)) +
  annotate("rect", xmin = 2, xmax = 4, ymin = 0, ymax = Inf, fill = 'gray') +
  geom_point() +
  scale_y_continuous(trans = "log") 

【讨论】:

完美,非常感谢!我已接受回复

以上是关于用 ggplot2 注释 R 中的矩形以获得对数刻度的图形的主要内容,如果未能解决你的问题,请参考以下文章

R 包中的 ggplot2:CRAN 测试期间的注意事项

R语言ggplot2可视化增加坐标轴的刻度数实战:自定义坐标轴刻度粒度增加坐标轴刻度的粒度更加精细地表达

R语言ggplot2可视化:可视化Treemap图treemap将分层数据显示为一组嵌套矩形,每一组都用一个矩形表示,该矩形的面积与其值成正比(Treemap)

R语言ggplot2可视化基本散点图(设置X轴使用对数坐标)并把成对的数据点用线条(line)连接起来自定义配置线条颜色(Connecting Paired Points with lines)

ggplot2 轴:设置间隔、对数刻度和指数而不是科学

R可视化使用ggplot2将坐标轴设置为对数坐标轴(Log Scale)