我在R中用geom_tile製作了一個熱圖。除了如何將諸如「d」之類的字符串更改爲0.0的標籤之外,我已經計算出了所有內容。檢測)。用R中的geom_text中的字符串替換舍入爲0.0的標籤R
相關部分是:
+ geom_text(data=subset(MELTEDL3, value !=0),aes(fill=value,label=format(round(value*100, 1), nsmall = 1)), size=3)
哪個抓住一切從MELTEDL3是不是零值。接下來,對於標籤,值被乘以100,並且標籤顯示爲1個小數,即使這些值舍入到例如1。 「30」(相反,「30.0」)。事情是,一些值小於0.1並顯示爲0.0。通過指定一個不同的子集很容易擺脫它們,但是,我想包括觀察結果,只不是「0.0」而是「d」。
編輯。 例如:
L3.txt
Taxon A30 A29 A20
ABCD 0.001 0.0004 0
DADD 0 0.04 0.000001
GHKJ 0 0.07 0
L3 <- read.table('L3.txt', header=T)
MELTEDL3 <- melt(L3, id=c("Taxon"))
L3PLOT <- ggplot(MELTEDL3, aes(Taxon, variable)) + geom_tile(aes(fill=value, colour=value)) + scale_y_discrete(expand=c(0,0),limits=c("ABCD","DADD","GHKJ")) + scale_x_discrete(expand=c(0,0)) + scale_fill_gradient2(low="white",mid=muted("blue"),high="red", space="rgb", midpoint=0.5) + geom_text(data=subset(MELTEDL3, value!=0),aes(fill=value,label=format(round(value*100,1),nsmall=1)),size=3)
請提供一個可重現的例子。 –