-1

X5 列と 3825 行 (日数を計算)の matrixがあります。値は01または のいずれかNAです。

  station1  station2    station3    station4    station5
     0          0          0            0          0
     1          0          0            0          0
     1          1          0            0          0
     0          1          0            0          
     0          0          0            0          

長さ x 軸が 3825 で、各列に 1 つずつ、6 本の棒を持つ水平棒グラフを作成したいと考えています。セルの値が 1 の場合は赤に、そうでない場合は黒にします。各列のすべての 1 を合計して、全体の合計を提示したくはありません。赤と黒の色の 5 つの水平バーを表示して、1 が 1 つ以上のステーションに存在する場合に日行があるかどうかを簡単に確認できるようにしたいと考えています。

私は何日も答えを探していました。私は考えました:

barplot((c(X[,1],X[,2],X[,3],X[,4],X[,5]),nr=5), width=1, space=1,main="Heatwaves Dates", beside=FALSE, xlab="Days",  ylab="Stations",  ifelse(X==1, "red","black"), horiz=TRUE, xlim=c(1,3825),xpd=TRUE,border=NA,  names.arg=1:5, cex.names=0.75, las=1)

しかし、どうやらうまくいかないようです。

4

1 に答える 1

0

積み重ねられたbarplotではなく、 heatmapを探しているようです。

set.seed(1)
X <- matrix(as.numeric(runif(3825*5)<0.4),ncol=5,
  dimnames=list(NULL,paste0("station",1:5)))
heatmap(t(X),Rowv=NA,Colv=NA,col=c("black","red"),labCol="")

ヒートマップ

axis()必要に応じて x 軸にラベルを追加するために使用します。詳細については?heatmap、をご覧ください。

于 2015-04-15T12:12:07.013 に答える