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

标签 r plot bar-chart

我有一个只有一个条形的堆叠水平条形图。我想标记不同的段,每个标签是各自段开始的地方。但是,由于某些段非常窄,因此标签需要位于不同的级别,并且应通过直线与条连接,如本例所示。

example bar chart

我可以使用 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/

相关文章:

reactjs - 如何在 react 图表的两个轴上显示文本?

javascript - 使用 d3,如何创建直方图或条形图,其中最后一个条形是大于某个数字的所有值的计数?

r - 如何在 R 的函数中使用 acast (reshape2)?

替换 gtable : labels and gridlines 中 ggplot 的元素

python - 在 Plotly 气泡图中标记特定气泡

python - 在 matplotlib 中操纵线宽以进行孵化

r - 确定源顶点并查找到目标顶点的所有路径

重命名数据框的列

matlab - 在matlab中用线连接子图

javascript - 具有两个 Y 轴问题的水平堆叠条形图