2012-04-15 78 views
1

有沒有辦法修改ggplot2軟件包中geom_tile生成的熱圖的圖例?我想增加圖例中的圖塊數量並在其中設置所顯示值的最小值和最大值。如何修改使用ggplot的geom_tile生成的熱圖的圖例?

在本手冊頁的示例中,圖例包含五個彩色圖塊,表示值從-0.4到0.4。我怎麼能讓9塊瓷磚會被顯示嗎?

library (ggplot2) 

pp <- function (n,r=4) { 
    x <- seq(-r*pi, r*pi, len=n) 
    df <- expand.grid(x=x, y=x) 
    df$r <- sqrt(df$x^2 + df$y^2) 
    df$z <- cos(df$r^2)*exp(-df$r/6) 
    df 
} 

p <- ggplot(pp(20), aes(x=x,y=y)) 
p + geom_tile(aes(fill=z)) 
+2

一個可重複的例子可以幫助回答你的問題。 – smu 2012-04-15 09:51:55

+0

感謝您的提示。我添加了一個例子。 – konrad 2012-04-15 14:15:03

回答

3

我想有幾種可能的方法來歸檔這個。一種解決方案是手動指定圖例的中斷。

d = pp(20) 
ggplot(d, aes(x=x,y=y,fill=z)) + geom_tile() + 
    scale_fill_continuous(breaks = round(seq(-.4, .4, length.out = 10), 1)) 
+0

傳說的記錄? +1 – baptiste 2012-04-15 20:05:12