2013-06-18 44 views
2

如果我有GGPLOT2一個圖,其中繪製的價值轉化爲LOG2,但也被用來作爲一個顏色值,如:轉化scale_colour_gradient到log2空間GGPLOT2 R中

geom_line(aes(x=x, y=y, colour=y)) + scale_y_continuous(trans=scales.log2_trans()) + scale_colour_gradient() 

我怎樣才能使scale_colour_gradient顯示log2(不只是對數)比例的值?數據幀中的原始y值未記錄。謝謝。

回答

5

您也可以在scale_colour_gradient()中使用轉換,方法與scale_y_continuous()相同。

df<-data.frame(x=1:100,y=1:100) 
library(scales) 
ggplot(df)+geom_line(aes(x=x, y=y, colour=y)) + 
    scale_y_continuous(trans=log2_trans()) + 
    scale_colour_gradient(trans=log2_trans()) 

enter image description here

+0

感謝,跟進問:如果我現在想改變'y's顏色漸變的限制'=',我使用日誌值或自然價值? – user248237dfsf

+2

@ user248237dfsf您使用自然值 - 通過trans = –

+0

對限制進行轉換使用此轉換結果「inherits(x,」trans「)中的錯誤:找不到函數」log2_trans「。你現在需要,'trans =「log10」' – notconfusing