由于一些不相关的原因,我尝试使用 ggplot2 而不是栅格包绘图函数来制作栅格图。
我想缩放颜色,使图上的最低温度为蓝色,图上的最高温度为红色,而中间范围为白色。我已经尝试了 ggplot2 中的许多功能,但始终未能获得所需的结果。这就是我要的:
这是我的 ggplot2 代码的当前状态:
library(raster)
library(ggplot2)
library(scales)
r = raster()
r[] = 1:ncell(r)
df = as.data.frame(r, xy=TRUE)
the_plot = ggplot(df) +
geom_raster(aes(x, y, fill=layer)) +
scale_fill_gradient2(low=muted('red'), mid='white', high=muted('blue'))
print(the_plot)
这不是所需的色带,而是产生以下结果:
非常感谢任何建议!
刚刚尝试了您的示例数据集,以下代码对我有用。
the_plot = ggplot(df) +
geom_raster(aes(x, y, fill=layer)) +
scale_fill_gradientn(colours=c("#0000FFFF","#FFFFFFFF","#FF0000FF"))
print(the_plot)
RGB 颜色需要调整为准确所需的蓝色/红色色调,但它似乎有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)