1

R で積み上げ棒グラフをプロットすると、棒が等間隔に配置され、x 軸の値がラベルとして使用されます。x 軸の値に基づいて、バーを近づけたり離したりしたいと考えています。Rを使用してこのプロットを取得するのを手伝ってくれる人はいますか?

編集:

# data.frame newtest
      A   B   C   D
100  0.2 0.3 0.1 0.4
400  0.3 0.5 0.1 0.1
500  0.1 0.3 0.4 0.2
600  0.4 0.2 0.2 0.2
1000 0.1 0.5 0.1 0.3
1500 0.3 0.2 0.2 0.3
1600 0.4 0.1 0.3 0.2
1700 0.1 0.1 0.7 0.1
2500 0.3 0.2 0.1 0.4

# plot
barplot(t(as.matrix(newtest)), col = c("cyan", "lightblue", "yellow", "green"), 
          legend = colnames(newtest), cex.main = 0.5, cex.axis = 0.5, 
          cex.lab = 0.5, lwd = 0.02)

プロットは次のとおりです。 バープロット

バーは、行名に従ってラベル付けされているだけです。しかし、私は 400,500,600 のバーを互いに近づけ、空のスペースで 700,800,900 のブロックがないことを表し、次に 1000 のバー、次に 1500 までの空のスペース、1500、1600、1700 のバーなど.

4

1 に答える 1

2

a の x 軸がbarplotカテゴリ変数を表していることを考えると、データに追加のダミー観測を導入する以外に解決策はないと思います。

extracolnames <- setdiff(seq(100,2500,by=100) ,rownames(newtest))
extracols <- replicate(length(extracolnames), rep(0,4))
colnames(extracols) <- extracolnames
dat <- cbind(t(as.matrix(newtest)), extracols)
dat <- dat[,order(as.numeric(colnames(dat)))]
barplot(dat, col=c("cyan","lightblue","yellow","green"), legend=colnames(newtest), cex.main=0.5, cex.axis=0.5, cex.lab=0.5, lwd=0.02)
于 2013-03-21T09:22:09.947 に答える