0

マトリックスに基づく積み上げバープロットがあります。デフォルトでは、列がバーを形成し、行がバーのセグメントを形成します。今、私がやりたいことは、マトリックスの各セルに、積み重ねられた棒グラフの特定の色やパターンを割り当てることです。つまり、バープロットで各行を同じ色にしたくありません。これは によって仮定されているようですbarplot()。これはまったく可能で、どのように行うのですか?

例 (デフォルトで行列の行ごとに色を割り当てます):

barplot(matrix(c(1:12),ncol=3,nrow=4),col=c(1,2,3,4))

例(うまくいかない私のばかげた直感的な解決策):

barplot(matrix(c(1:12),ncol=3,nrow=4),col=matrix(c(1:12),ncol=3,nrow=4))
4

1 に答える 1

1

まず、ggplot で使用できるようにデータ セットを適合させたので、特定の値が存在する回数をカウントします。また、各「ファクター」(1 から 3、4 から 6、7 から 9) ごとに数値を変更することが重要であることに注意してください。そうしないと機能しません。

Test1 <- sample(1:3,40,replace=T)
Test2 <- sample(4:6,60,replace=T)
Test3 <- sample(7:9,80,replace=T)
Test  <- cbind(c(Test1,Test2,Test3),c(rep("A",40),rep("B",60),rep("C",80)))
Test  <- as.data.frame(Test)

次の部分はかなり簡単です。

require(ggplot2)
Q <- ggplot(Test, aes(V2, fill=as.factor(V1))) + geom_bar()
Q

使用できる色に干渉したい場合(フラグを見つけてください):

Q + scale_fill_manual(values=c("Blue", "White", "Red",
                               "Yellow","Red","Black",
                               "Darkgreen","White","Orange"))

あまりきれいに見えないかもしれないことに同意しますが、このようなものをプロットすることもかなり珍しいと思います...

于 2013-03-04T14:03:17.360 に答える