2016-11-23 12 views
2

に私のデータは次のようになります。ヒートマップは、r

data1 <- read.table(text = "District Block IE  FE  AOE  CLE  CS 
A    A1 4.87 17.54 13.85 9.01 45.27 
       B    B1 8.19 20.83 14.59 7.04 50.65 
       C    C1 8.71 19.16 16.54 8.24 52.65 
       D    D1 2.43 11.77 11.51 6.96 32.67 
       E    E1 6.85 13.54 14.54 5.7  40.63 
       F    F1 7.02 19.96 13.96 3.82 44.76 
       G    G1 2.55 11.64 8.74 5.06 27.99 
       H    H1 9.81 20.2 12.62 5.95 48.58 
       I    I1 6.56 15.49 12.32 8.08 42.45 
       J    J1 9.47 22.86 25  22.73 80.06 
       K    K1 10.2 20.18 20.14 20.06 70.58 
       L    L1 9.52 14.86 16.95 18.23 59.56", header = TRUE) 

私はdataframe.My初期コードからデータ行列を作成している私は上記のコードを使用していますたびに、この

row.names(data1)<-data1$Column1 

data1<-select(data1,-c(1)) 
data1<-data.matrix() 
data1_heatmap<-heatmap(data1,Rowv = NA,Colv = NA,col=heat.colors(256),scale = "none",margins = c(12,3)) 

のように見えますそれはシート全体をプロットします。私は、データマトリックス中に存在しているセルの値を表示する必要が

  1. 私は2つの問題を抱えています。

  2. また、IEからCSへの各列の色範囲を指定する必要があります。たとえば、IEの列では4.87未満が赤、6.56から6.85は橙色で、緑は8.17より大きいです。各列について。

+1

これは 'ggplot2'と関係があるのでしょうか? – Axeman

答えて

0

(元DATA1で始まる)ggplot2でこれを試してみてください:

library(ggplot2) 
library(reshape2) 
row.names(data1)<-data1$Column1 
data1<-select(data1,-c(1)) 
data1 <- melt(data1, id='Block') 
data1$value <- cut(data1$value,breaks = c(-Inf,4.87, 6.56, 6.58, 8.17, 14, 19, 21, Inf),right = FALSE) # bin IE variable 
ggplot(data = data1, aes(x = Block, y = variable)) + 
    geom_tile(aes(fill = value), colour = "white") + 
    scale_fill_brewer(palette = "PRGn") 

enter image description here

関連する問題