2016-08-08 4 views
3

私は1つのバーだけで積み上げ横棒グラフを持っています。私は、それぞれのセグメントが始まる各ラベルで、異なるセグメントにラベルを付ける必要があります。しかし、いくつかのセグメントは非常に狭いので、ラベルは異なるレベルにする必要があり、この例のように直線でバーに接続する必要があります。r行またはセグメントをbarchartに追加

example bar chart

私はbarplot()を使用して棒グラフとmtext(..., side=3, line=1,...)を使用してラベルを作成することができますが、行を取得することはできません。 segments()は、y方向の座標が正しく機能しないため(または、棒グラフの座標系をまだ把握していないため)、機能していないようです。

基本グラフィックを使用してこれらの行を作成する方法についてのヒントはありますか?

答えて

5
## 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) 
関連する問題