r plotRGB添加标题

时间:2015-11-10 18:47:20

标签: r raster

这是一个非常基本的问题,但我还没有找到有效的解决方案。 我想为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")

如果您清除了之前可能关闭轴的图,则可以正常工作。然而,我仍然希望情节是一个没有轴刻度和标题的图像。

4 个答案:

答案 0 :(得分:4)

你的第一个猜测对我有用:

plotRGB(RGB_stack, r = 1, g = 2, b = 3,
        axes=TRUE, main="My Title")

enter image description here

经过讨论,将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

enter image description here

答案 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")

我不知道为什么,但它奏效了。