如何从 R 光栅包中格式化 plotRGB 中的轴?

How can I format the axes in plotRGB from the R raster package?

我正在尝试并排绘制两个地块。一个是我使用 plotRGB() 的 RasterStack。然而,轴是一团糟 - 它为纬度和经度绘制了太多的小数位。我还想更改字体大小和文本方向。

这在 plot() 中很简单,但我无法在 plotRGB 中弄明白。

有人能帮忙吗?

这是代码:

par(mar=c(4,5,4,2), mfrow = c(1, 2))
plotRGB(tayRGB, axes = TRUE, stretch = "lin", main = "RGB")
plot(knr, main = "Kmeans", cex.axis=0.96, col = viridis_pal(option="D")(10))

我可以推荐使用函数 RStoolbox)::ggRGB 而不是 plotRGB。这将为您提供 ggplot 的全部功能来自定义您的绘图。一个可重现的例子:

set.seed(123)
R = raster(matrix(runif(400),20,20))
G = raster(matrix(runif(400),20,20))
B = raster(matrix(runif(400),20,20))
tayRGB = brick(list(R,G,B))

library(RStoolbox)
p1 = ggRGB(tayRGB, r=1, g=2, b=3, stretch = 'lin') +
  scale_y_continuous(labels = scales::number_format(accuracy = 0.001)) +
  scale_x_continuous(labels = scales::number_format(accuracy = 0.1)) +
  theme(axis.title.x = element_text(size = 30),
        axis.text.y = element_text(angle = 45))
p1

要将您的其他情节与此并排绘制,您可以将其重新制作为 ggplot。或者您可以使用 ggplotify::base2grob 将基本 R 图转换为 grob。

p2 = ggplotify::base2grob(~plot(rnorm(100)))
cowplot::plot_grid(p1,p2)