使用ggplot2在R中为对数比例尺图形注释一个矩形

3

我正在尝试通过ggplot2在R中注释一个矩形,用于对数坐标的图表。以下是我添加的注释层:

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

当然,我理解负无穷会带来问题,因为这是对数刻度,没有负值。由于我预先指定了y轴的限制,有人想过如何使用此方法或其他方法创建一个从负无穷到正无穷的矩形吗?


对数刻度不能接受负值。将“ymin”更改为“0”,您就可以开始了。 - M--
1个回答

5

R在计算log(0)时返回-Infinity,因此可以使用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") 

enter image description here


太好了,非常感谢!我已经接受了回应。 - Cardtrick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接