R 如何使用离散轴值的几何校正

R 如何使用离散轴值的几何校正,r,ggplot2,R,Ggplot2,我想画矩形,但我有一个x轴,它是离散值。如何将xmin和xmax值设置为从离散值之间的点开始 library(ggplot2) df <- data.frame(x = c("a","b","c"), y = c(1,2,3)) ggplot(data = df) + geom_rect(data = NULL, aes(xmin = "b", xmax = "c", ymin = 1.5, ymax = 2.5)) 库(ggplot2) df您可以尝试: ggplot(data = d

我想画矩形,但我有一个x轴,它是离散值。如何将xmin和xmax值设置为从离散值之间的点开始

library(ggplot2)
df <- data.frame(x = c("a","b","c"), y = c(1,2,3))
ggplot(data = df) + geom_rect(data = NULL, aes(xmin = "b", xmax = "c", ymin = 1.5, ymax = 2.5))
库(ggplot2)
df您可以尝试:

ggplot(data = df) +
  geom_rect(data = df, aes(x = x, y=y), xmin = as.numeric(df$x[[2]]) - 0.3,
                                        xmax = as.numeric(df$x[[3]]) + 0.3,
                                        ymin = 0, ymax = 2)

这是可行的,就像您在
aes
调用之外调用xmin和xmax等一样,您可以使用您想要的任何东西。在绘图中使用因子级别来绘制它们,因此
as.numeric
将确保您得到正确的因子级别。

谢谢@jeremycg回答了我的问题,并且有效!还感谢使用因子级别的提示。