2015-05-04 163 views
4

我想繪製一個矩陣。爲了清楚地看到低值,代碼如下所示。ggplot2更改顏色條標籤

p <- ggplot(data = melt(x)) 
p + geom_tile(aes(x=Var2,y=Var1,fill = value)) 

現在爲了看到細節,我更喜歡使用平方根標度。 但是,如果我更改 fill = value填充= sqrt(value) 色條的範圍也會改變(例如,原件是c(0,100),現在是c(0,10))。

我想是繪製sqrt(value),但仍使用的value

我檢查guide_colorbar()的彩條,但有關於是否顯示標籤,沒有關於如何設置自己的標籤參數唯一理由。

回答

5

使用trans說法的scale_fill_gradient

p + 
    geom_tile(aes(x = Var2, y = Var1, fill = value)) + 
    scale_fill_gradient(trans = "sqrt") 

這裏的樣地,使用下面的數據:

x <- matrix(1:16, 4, 4) 

enter image description here

正如你所看到的,trans轉換數據對於情節和顏色條,所以你的顏色標度將被根變換,但你可以識別他們的顏色原始值。

+0

真的非常感謝你,我使用的manul只提供x和y軸的trans。從來沒有想過它也可以用於scale_fill _ **,幫助我很多,再次感謝! – 163