我想在我用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)
在该示例中,rownames
和colnames
具有透明背景。我想要它是白色的,因为在我原来的情节中,它们几乎看不见。
知道怎么做吗?我没有必要使用plotrix包。但是,解决方案必须处理plotRGB输出。
答案 0 :(得分:1)
如果你没有太多这样的情节,你可以在桌子后面手动添加一个白色填充的矩形,花一些时间找到合适的xleft
,ybottom
,{{ 1}}和xright
值:
ytop
但这可能很乏味,如果你想让它更通用,快速而肮脏的解决方案可能是通过在使用{{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
*** HERE ***