微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

结合 tmap 和 ggplot

如何解决结合 tmap 和 ggplot

我正在尝试将 test1(用 tmap 制作的地图)与 test2(用 ggplot2 制作的图,使用 cowplot::plot_grid)结合起来。

library(ggplot2)
library(tmap)
library(cowplot)
library(ggplotify)

test2 <-ggplot(iris,aes(Sepal.Length,Sepal.Width,color = Species)) + geom_point()

data("World")

test1 <- tm_shape(World) + tm_polygons("HPI")

plot_grid(test1,test2)

tmap 似乎与 cowplot 不兼容:

"在 as_grob.default(plot) 中: 无法将 tmap 类的对象转换为 grob"

使用时同样的问题

tmap::tmap_arrange(test1,test2)

"tmap_arrange(test1,test2) 中的错误: 并非所有参数都是 tmap 对象“

我还尝试使用 ggplotify 中的“as.grob”等函数转换 tmap,

test3 <- as.grob(test1)

但没有运气 “使用方法错误(“as.grob”): 没有适用于“as.grob”的方法应用于“tmap”类的对象“

有什么建议吗?

谢谢!

解决方法

是的,我最近添加了 tmap_grob 来完成这项工作。

library(ggplot2)
library(tmap)
library(cowplot)
library(ggplotify)

test2 <-ggplot(iris,aes(Sepal.Length,Sepal.Width,color = Species)) + geom_point()

data("World")

tm <- tm_shape(World) + tm_polygons("HPI")
test1 <- tmap_grob(tm)

plot_grid(test1,test2)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。