使用 ggplot2 注释 R 中的矩形以获取对数比例的图形
Annotating a rectangle in R with ggplot2 for a graph in log scale
我正在尝试通过 ggplot2 在 R 中为对数比例的图形注释一个矩形。这是我要添加的注释层:
annotate("rect",xmin=293.3, xmax=312, ymin=-Inf, ymax=Inf, fill='gray')
当然,我知道负无穷大会导致问题,因为它是对数刻度并且没有负值。由于我预先指定了我对 y 尺度的限制,有人对如何使用这种方法或其他方法创建 'negative infinity' 到无穷大的矩形有任何想法吗?
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 中为对数比例的图形注释一个矩形。这是我要添加的注释层:
annotate("rect",xmin=293.3, xmax=312, ymin=-Inf, ymax=Inf, fill='gray')
当然,我知道负无穷大会导致问题,因为它是对数刻度并且没有负值。由于我预先指定了我对 y 尺度的限制,有人对如何使用这种方法或其他方法创建 'negative infinity' 到无穷大的矩形有任何想法吗?
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")