r向条形图添加直线或线段

r向条形图添加直线或线段,r,plot,bar-chart,R,Plot,Bar Chart,我有一个只有一个条形的堆叠水平条形图。我想标记不同的段,每个标签都从相应的段开始。但是,由于某些线段非常窄,标签需要位于不同的标高,并且应该通过直线与杆连接,如本例中所示 我可以使用barplot()创建条形图,使用mtext(…,side=3,line=1,…)创建标签,但无法获取线条segments()似乎不起作用,因为y方向的坐标不能正常工作(或者我还没有计算出条形图的坐标系) 有人对如何使用基本图形创建这些线有什么建议吗 ##伪造数据 ## bogus data dat <- c

我有一个只有一个条形的堆叠水平条形图。我想标记不同的段,每个标签都从相应的段开始。但是,由于某些线段非常窄,标签需要位于不同的标高,并且应该通过直线与杆连接,如本例中所示

我可以使用
barplot()
创建条形图,使用
mtext(…,side=3,line=1,…)
创建标签,但无法获取线条
segments()
似乎不起作用,因为y方向的坐标不能正常工作(或者我还没有计算出条形图的坐标系)

有人对如何使用基本图形创建这些线有什么建议吗

##伪造数据
## bogus data
dat <- c(1,3,1,2)
nb <- length(dat)
## basic barplot
barplot( cbind( dat ), col=1:nb, horiz=TRUE, ylim=c(0,0.7), wid=0.2)

## location of the vertical segments
xdat <- c(0, cumsum(dat[-nb]))

## create vector of jagged heights for label placement/vertical segment ends
h1 <- 0.36
h2 <- 0.4
heights <- c(h2,h1,h2,h1)
segments(x0=xdat, x1=xdat, y0=rep(0.1,nb), y1=heights)
text(x=xdat+0.1, y=heights, paste("Segment",1:nb), adj=0)
dat