工作数据
m=raster(ncol=10,nrow=10)
m[,]=runif(100, -0.8, 0.5)
tmp=data.table(as.data.frame(m,xy=TRUE))
ggplot()+ geom_tile(data = tmp, aes(x = x, y = y ,fill=layer)) +
scale_fill_stepsn(colors=c('#b2182b','#ef8a62','#fddbc7','#f7f7f7','#d1e5f0','#67a9cf','#2166ac'),n.breaks=10)
然而,由于一些负数的存在,这并不以零为中心,它们是蓝色的。 我正在尝试绘制多个图表,显示在-1到+1之间的数据,但是大多数图表的数据并没有围绕零居中,因为正数或负数的数据范围更大。在图表中,我希望正值以蓝色显示,负值以红色显示,并控制binnes为0.1或0.2间隔。
如何通过编程强制在scale_fill_stepsn中使颜色比例尺居中于零而不需要反复调整分界点?我尝试过玩n.breaks和scale_fill_steps2,但对颜色比例尺没有太多控制。