这是一个非常基本的问题,但我还没有找到有效的解决方案。 我想为plotRGB输出添加一个标题。
#create random raster stack
r1 <- raster(nrow=5, ncol=5)
values(r1) <- 1:25
r2 <- r3 <- r1
RGB_stack <- stack(r1, r2, r3)
我试过了:
# Create an RGB image from the raster stack
plotRGB(RGB_stack, r = 1, g = 2, b = 3,
axes=TRUE, main="My Title")
plotRGB(RGB_stack, r = 1, g = 2, b = 3,
axes=TRUE, addfun="(title='Test title')")
我试图打开和关闭轴。我不知道还有什么可以尝试使这项工作。任何反馈/指导都非常感谢。 谢谢! 莉亚
更新:根据下面的反馈,我发现了
#Create an RGB image from the raster stack
plotRGB(RGB_stack, r = 1, g = 2, b = 3,
axes=TRUE, main="My Title")
如果您清除了之前可能关闭轴的图,则可以正常工作。然而,我仍然希望情节是一个没有轴刻度和标题的图像。
答案 0 :(得分:4)
你的第一个猜测对我有用:
plotRGB(RGB_stack, r = 1, g = 2, b = 3,
axes=TRUE, main="My Title")
经过讨论,将axes = FALSE放置也会删除标题。作为解决方法,您可以尝试将轴和标签绘制为白色。我还加了一个白盒子。
original_par <-par() #original par
par(col.axis="white",col.lab="white",tck=0)
plotRGB(RGB_stack, r = 1, g = 2, b = 3,
axes=TRUE, main="My Title")
box(col="white")
par(original_par) # go back to original par
答案 1 :(得分:1)
我遇到了同样的问题。 Legend hack对我不起作用,因此我在par()中使用了graphics :: title函数。
title(main = "My title", cex.main = 1.3)
答案 2 :(得分:0)
我也不希望我的plotRBG图上有轴。
我修改了图例函数来解决此问题,而无需更改par()参数,因为我正在制作多框布局。
legend("top", legend = NA, title = expression(bold("(My title)")), bty = "n", cex = 1.3)
答案 3 :(得分:0)
对我有用的一种方法是在 plotRGB 中设置 margins = TRUE
,如下所示:
plotRGB(RGB_stack, r = 1, g = 2, b = 3,margins=TRUE, main="My Title")
我不知道为什么,但它奏效了。