为绘制栅格创建新的调色板

Creating new color palette for plotting raster

我有一个光栅图像,我尝试使用 BuRdTheme 中的 rasterVis 包进行绘制。但是我觉得颜色暗淡。

然而,我需要的是像下面这样的东西。如何在 rasterrasterVis 中创建所需的调色板,或者是否有任何其他合适的软件包?

我尝试使用 rasterTheme

创建新调色板
rainbTheme5 <- rasterTheme(region = rev(rainbow(n = 5)))
levelplot(r,par.settings=rainbTheme5)

我得到的是

图像的直方图看起来像

你有一些像素下降了大约 305(我猜是蓝色)所以你的大部分像素都超过了 320,所以都在调色板的 brown/red 端。

您可能需要一个调色板,该调色板会随着数据的峰值而变化。您可以通过创建一个调色板来做到这一点,该调色板以一组低值颜色开始。例如:

> rep(rev(rainbow(n=5)),c(5,1,1,1,1))
[1] "#CC00FFFF" "#CC00FFFF" "#CC00FFFF" "#CC00FFFF" "#CC00FFFF" "#0066FFFF"
[7] "#00FF66FF" "#CCFF00FF" "#FF0000FF"

有9种颜色,前五种颜色相同。在这种情况下,5/9 的数据范围将全部是该颜色,并且数据集的最高 4/9 将被整个数据范围着色。由于您的峰值跨度约为该数量,您将获得您想要的效果。调整调色板以适应。

请注意,您应该始终询问任何图形试图回答的问题,并调整 colours/scales 等以帮助回答该问题,而不是试图让它看起来不像 "dull",除非这是画廊的墙壁。

我终于找到了我要找的东西:

myTheme <- rasterTheme(region = rep(rev(rev(colorRamps::matlab.like(n=12))),c(1,1,1,1,1,1,1,1,1,1,1,1)))

使用 levelplot 并使用 levelplot 自定义主题