2017-09-06 192 views
-2

我有個同學得分矩陣:R矩陣圖或熱圖

  Q1   Q2  Q3 
stdnt1  1   1  4 
stdnt2  0   0  5 
stdnt3  1   2  3 

maxmark  1   2  5 

我想繪製矩陣圖或熱圖直觀地顯示分數。如果一個學生得分爲1分,那麼這個單元格就是綠色的。如果得分爲0,則單元格爲紅色。和黃色之間的任何東西。 我在R中使用了heatmap(),但它無法幫助我與最大標記進行比較。我不知道什麼適合這個陰謀矩陣圖或熱圖。有人plz幫助..

回答

0

更好地使用heatmap.2 gplots,它有更多的適應使用。

library(gplots) 
heatmap.2(your_matrix, breaks=c(-1,0.1,1.1,6), 
      col=c("red","green","yellow"), Rowv=F, Colv=F, 
      dendrogram="none", scale="none", trace="none") 
+0

非常感謝這樣一個迅速的答案。我快到了。但這裏有一個問題是每列有不同的最大標記。矩陣中的着色斷點不相同。例如,列1具有1作爲最大標記,列3具有5作爲最大標記。這意味着第1列的規則是全1是綠色和0是紅色。但對於第3列,所有5都是綠色的,0是紅色的,中間是黃色的。無論如何要實現這一目標? –

+0

您可以將每列按其最大列值進行劃分,然後任何1列變爲綠色,0紅色或其他黃色。 – katymeala

+0

你的意思是改變這個:breaks = c(-1,0.1,1.1,6)?我試過像:breaks = matrix $ max,並得到錯誤 –