1

使用绘制栅格会gplot()产生一个不错的地图,例如: 在此处输入图像描述

由于可变尺度(人口)涵盖了许多数量级,因此首选对数尺度。但是当这应用于颜色变量时(通过向 中添加trans='log'参数scale_fill_gradient),零人口区域最终变为灰色:

在此处输入图像描述

有谁知道如何防止这种情况?这是我正在使用的代码:

require(raster, rgdal, ggplot2)
pop = readGDAL("usa_population.tif")
p = raster(pop, layer=1, values=TRUE)
s <- stack(p)
gplot(s) + geom_tile(aes(fill = value)) +
  scale_fill_gradient(low = 'white', high = 'blue', trans='log')

提前致谢。

4

1 回答 1

3

只需将na.value参数设置scale_fill_gradient为适当的值,例如'white'. NA's 是由 引起的,loglog(0) = -Inf解释为NAin ggplot2

于 2013-05-28T16:57:00.077 回答