将背景颜色放在plotrix :: addtable2plot中的rownames和colnames后面

时间:2017-03-13 13:45:42

标签: r r-raster plotrix

我想在我用raster::plotRGB函数创建的r图上添加一个表。我做了一些研究,发现plotrix::addtable2plot正是这样做的。功能易于使用,但是我遇到了背景颜色问题:

library(raster)
b <- brick(system.file("external/rlogo.grd", package="raster"))
plotRGB(b)

dd <- structure(c(30, 20, 20, 10, 10, 10, 0, 0, 0, 31, 8, 6, 8, 2, 44, 0, 0, 0, 38, 23, 1, 13, 0, 24, 0, 1, 0), .Dim = c(9L, 3L), .Dimnames = list(c("BJ", "BP", "ES", "EO", "EB", "SB", "EN", "FX", "PE"), c("carto", "plac", "classif")))
plotrix::addtable2plot(x=45, y=25,dd,bty="o",bg="white",display.rownames=T)

enter image description here

在该示例中,rownamescolnames具有透明背景。我想要它是白色的,因为在我原来的情节中,它们几乎看不见。

知道怎么做吗?我没有必要使用plotrix包。但是,解决方案必须处理plotRGB输出。

1 个答案:

答案 0 :(得分:1)

如果你没有太多这样的情节,你可以在桌子后面手动添加一个白色填充的矩形,花一些时间找到合适的xleftybottom,{{ 1}}和xright值:

ytop

enter image description here

但这可能很乏味,如果你想让它更通用,快速而肮脏的解决方案可能是通过在使用{{1}之前引入矩形图来修改library(raster) b <- brick(system.file("external/rlogo.grd", package="raster")) plotRGB(b) dd <- structure(c(30, 20, 20, 10, 10, 10, 0, 0, 0, 31, 8, 6, 8, 2, 44, 0, 0, 0, 38, 23, 1, 13, 0, 24, 0, 1, 0), .Dim = c(9L, 3L), .Dimnames = list(c("BJ", "BP", "ES", "EO", "EB", "SB", "EN", "FX", "PE"), c("carto", "plac", "classif"))) rect(45, 25, 72, 58, col='white', border=NA) plotrix::addtable2plot(x=45, y=25,dd,bty="o",bg="white", display.rownames=T, box.col='blue') 函数在这个函数中(在下面用plotrix::addtable2plot标记):(确实没有背景):

text

enter image description here

*** HERE ***