如何修改ggplot的geom_tile生成的热图的图例?

时间:2012-04-15 07:25:23

标签: r data-visualization ggplot2

有没有办法修改ggplot2包中使用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))

1 个答案:

答案 0 :(得分: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) )