如何使用类似于ggplot2的东西在R中的特定X坐标处创建水平矩形?

如何使用类似于ggplot2的东西在R中的特定X坐标处创建水平矩形?,r,ggplot2,R,Ggplot2,基本上,我正在尝试使用R来创建一个图形,在这个图形中,我可以在绘图的X轴上的特定位置制作不同长度的矩形。因此,对于一些使用类似ggplot2的R代码,我会制作一个类似以下内容的图形: ---- ----------------- ----------------- ....| |--------| |------------------------------|

基本上,我正在尝试使用R来创建一个图形,在这个图形中,我可以在绘图的X轴上的特定位置制作不同长度的矩形。因此,对于一些使用类似ggplot2的R代码,我会制作一个类似以下内容的图形:

    ----        -----------------                              -----------------
....|  |--------|               |------------------------------|               |
    ----        -----------------                              -----------------
为愚蠢的ASCII艺术道歉

我能找到的唯一ggplot2函数是
geom_errorbarh
,但coruse的这个函数只给出了水平误差条,而不是框。另外,如果可能的话,我希望盒子里装满颜色和标签。而且,我并不局限于ggplot2,我可以使用R中的任何东西,我只是认为ggplot2可能是最简单的方法


谢谢你的建议

使用ggplot很容易做到这一点。您只需要一个数据框来设置每个矩形的起点和终点,如下所示:

# Sample data
plot.data <- data.frame(start.points=c(5, 32),
                        end.points=c(15, 51), 
                        text.label=c("Sample A", "Sample B"))
plot.data$text.position <- (plot.data$start.points + plot.data$end.points)/2

# Plot using ggplot
library(ggplot2)
p <- ggplot(plot.data)
p + geom_rect(aes(xmin=start.points, xmax=end.points, ymin=0, ymax=3), 
              fill="yellow") + 
  theme_bw() + geom_text(aes(x=text.position, y=1.5, label=text.label)) + 
  labs(x=NULL, y=NULL)
#示例数据

plot.data
geom\u rect
+
geom\u line
应该可以工作。您是否有可以共享的示例数据,以便我们可以使用它?您基本上可以这样做(),只是没有对ylim使用+/-Inf,而是给它实际的轴限制!很简单。。。假设我想要一个从X坐标5-15到32-51的黄色矩形。高度可以是y=3。请举个例子,不胜感激!哦,让我们把第一个矩形标记为“样本A”,第二个标记为“样本B”,这太棒了,我希望它会这么简单。非常感谢你的帮助!