web-dev-qa-db-ja.com

Rの7バーのバープロットのテクスチャ?

Xの各値ごとに7つの異なるカテゴリがあります。これらのカテゴリをプロットするためにbarplotを使用しています。このようなグラフはカラープリンタでは問題なく見えますが、白黒で問題なく表示したい場合はどうすればよいでしょうか。下のグラフで確認できます。異なる色のテクスチャを使用したいので、グラフはカラーとモノクロプリンタでよく見えます。

enter image description here

Barplot関数の密度パラメーターには、densities = c(10,30,40,50,100,60,80)を使用しました。バープロットで異なるテクスチャを実行する他の方法はありますか?

注:barplotで角度の値を試しました。ただし、すべてのバーが高い値(つまり、バーの高さ)を持っているわけではないため、この場合は適切な解決策ではありません。

14
Yasmin

私のコメントの行に沿って、あなたは次のことが役立つかもしれません:

# data generation ---------------------------------------------------------
set.seed(1)
mat <- matrix(runif(4*7, min=0, max=10), 7, 4)
rownames(mat) <- 1:7
colnames(mat) <- LETTERS[1:4]


# plotting settings -------------------------------------------------------
ylim <- range(mat)*c(1,1.5)
angle1 <- rep(c(45,45,135), length.out=7)
angle2 <- rep(c(45,135,135), length.out=7)
density1 <- seq(5,35,length.out=7)
density2 <- seq(5,35,length.out=7)
col <- 1 # Rainbow(7)


# plot --------------------------------------------------------------------
op <- par(mar=c(3,3,1,1))
barplot(mat, beside=TRUE, ylim=ylim, col=col, angle=angle1, density=density1)
barplot(mat, add=TRUE, beside=TRUE, ylim=ylim, col=col, angle=angle2, density=density2)
legend("top", legend=1:7, ncol=7, fill=TRUE, col=col, angle=angle1, density=density1)
par(bg="transparent")
legend("top", legend=1:7, ncol=7, fill=TRUE, col=col, angle=angle2, density=density2)
par(op)

enter image description here

13
Marc in the box