2012-05-26 51 views
4

X軸的元素我已經創造了這個數據,圖像繪圖:R-如何編輯image.plot

sample 
     p   p.1   p.2   p.3   p.4 
    p 1.0000000 0.24077171 -0.66666667 -0.49009803 0.61237244 
    p.1 0.2407717 1.00000000 0.09028939 -0.83444087 0.14744196 
    p.2 -0.6666667 0.09028939 1.00000000 0.21004201 0.10206207 
    p.3 -0.4900980 -0.83444087 0.21004201 1.00000000 -0.08574929 
    p.4 0.6123724 0.14744196 0.10206207 -0.08574929 1.00000000 

使用此代碼:

image.plot(sample,col=redblue(191), zlim=c(-1,1)) 

我得到這個圖片:

而不是0.0 0.2 0.4 ..在x和y軸上,我想p p.1 p.2 ... 我該如何得到它? 謝謝你的時間和考慮?

我的熱圖是這樣的:

enter image description here

它不是對稱的。你能解決這個問題嗎? 我使用這個代碼:

色調= C(SEQ(-1,-0.5,長度= 64),SEQ(-0.5,0.5,長度= 64),SEQ(0.5,1,長度= 64))
heatmap.2(sample,dendrogram ='none',symm = TRUE,Rowv = FALSE,Colv = FALSE,key = TRUE,cexCol = 0.7,cexRow = 1,scale =「row」,keysize = 1山口= redblue(191),斷裂=色調)

+1

我有點找到一種方法來做到這一點,但它不是非常簡單: 'image.plot(樣品,列=彩虹(25),zlim = C(-1, 1),軸= F); title(main =「Graph」); axis(1,at = seq(0,0.8,0.2),labels = rownames(sample)); (2)' 出於某種原因,我無法直接製作x軸標籤。但是在使用title()之後,我被允許創建x軸標籤。有人可能會知道如何更優雅地做到這一點。 – Alex

回答

8

這裏是一個更好的上下的溶液:

par(mar=c(5,4.5,4,7)) 
image(sample, col=rainbow(25), axes=F) #redblue() doesn't work on my computer. 
axis(2) 
axis(1, at=seq(0,0.8,0.2), labels=rownames(sample)) 
image.plot(sample, legend.only=T) 

enter image description here

編輯:下面的情節看起來像你在找什麼?

sample = cor(matrix(rnorm(400), nrow=20)) 
image(cor(matrix(rnorm(400), nrow=20)), axes=F) 
mtext(text=c(paste("country",1:21)), side=2, line=0.3, at=seq(0,1,0.05), las=1, cex=0.8) 
mtext(text=c(paste("country",1:21)), side=1, line=0.3, at=seq(0,1,0.05), las=2, cex=0.8) 
image.plot(sample, legend.only=T) 

enter image description here

+0

對不起,但這不是我想要的方式。 我想要它在熱圖中顯示的方式,有可能嗎? 我無法使用熱圖,因爲它會產生不對稱的圖 –

+0

您能否顯示一個示例熱圖,以便我們確切知道您在尋找什麼。 – Alex

+0

我編輯了我的問題,幷包含了我的熱圖圖像和我正在使用的代碼。感謝您的幫助。 –