我有一个只有一个条形的堆叠水平条形图。我想标记不同的段,每个标签是各自段开始的地方。但是,由于某些段非常窄,因此标签需要位于不同的级别,并且应通过直线与条连接,如本例所示。
我可以使用 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)
关于r 向条形图添加线条或线段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38831020/