R-如何创建具有透明背景的地图



我正在尝试创建并保存具有透明背景的地图,而不是使用R软件包tmap的白色(或任何其他颜色(。

除了下面的示例中,我尝试在tmap_optionstm_layout中使用bg.color = "transparent"bg.color = NAbg.color = NULL

版本信息:

  • tmap:2.2
  • tmaptools:2.0-1
library(tmap)
data("World")
tmap_options (bg.color = "#00000000", basemaps.alpha = 0)
map <- tm_shape(World) +
  tm_polygons("HPI") +
  tm_layout (frame = FALSE, bg.color = "#00000000")
tmap_save (map, filename = "~/test.png")

我是在做错事,还是仅仅是包装的限制?非常感谢!

我找到了一个技巧!

我正在寻找相同的功能,以绘制Indesign中的一堆地图,其中r,tmap的输出,我需要背景是透明的。

在这里我的解决方案,给定您的代码:

library(tmap)
data("World")
par(bg=NA)
map <- tm_shape(World) +
  tm_polygons("HPI") +
  tm_layout (frame = FALSE, bg.color = "transparent")
tmap_save (map, filename = "~/test.eps", bg="transparent") # Note the eps extension

caveat :使用不同的输出格式对此进行测试,我意识到它与pngjpg不起作用。

您必须将png函数指定为device参数。png文档说

png支持透明背景:使用bg = "transparent"。(并非所有PNG观众都正确地呈现透明度。(当在type = "Xlib"变体中使用透明度时,将非常浅灰色用作背景,因此如果在图中使用,则将看起来像透明。如示例中,这允许使用不透明的白色。type = "cairo"type = "cairo-png"type = "quartz"变体允许半透明颜色,包括在透明或半透明的背景上。

因此,您只需要像这样更改tmap_save呼叫(假定您已编译了开罗支持(。

tmap_save (map, filename = "~/test.png",
           device = png, bg = "transparent", type = 'cairo')

相关内容

  • 没有找到相关文章

最新更新