我试图绘制一些全局地图(光栅文件),我在为我的数据设置一个好的色标时遇到了一些问题.我想做的是使用发散调色板(例如cm.colors)绘制我的数据,并且我想将这种比例的颜色"白色"居中,其值为零,但不必在比例中设置对称值(即相同的值,无论是消极的还是积极的,即limits=c(-1,1)).另外,我想用相同的颜色绘制高于和/或低于某个值的所有值.
换句话说,如果我们假设我的地图的范围是-100到150,我想用不同的调色板绘制我的地图,其中"白色"颜色对应于值0,并且所有值都例如低于-20在50以上用相同的颜色绘制,即分别用调色板的负极性和正极性绘制.
这里是我目前使用的代码示例:
ggplot(df, aes(y=Latitude, x=Longitude)) +
geom_raster(aes(fill=MAP)) +
coord_equal()+
theme_gray() +
theme(panel.background = element_rect(fill = 'skyblue2', colour = 'black'),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
legend.position = "right",
legend.key = element_blank()) +
scale_fill_gradientn("MAP", limits=c(-0.5,1), colours=cm.colors(20))
Run Code Online (Sandbox Code Playgroud)