【问题标题】:Remove border from charts inside a map R从地图R内的图表中删除边框
【发布时间】:2021-08-17 03:41:51
【问题描述】:

我正在尝试通过以下方式在地图中添加一些饼图:

  library(tmaptools)
  library(ggplot2) 
  library(dplyr)
  library(tidyr)
  library(tmap)
  library(sf)
  data(NLD_prov)
  
  origin_data <- NLD_prov %>% 
    st_set_geometry(NULL) %>% 
    mutate(FID= factor(1:n())) %>% 
    select(FID, origin_native, origin_west, origin_non_west) %>% 
    gather(key=origin, value=perc, origin_native, origin_west, origin_non_west, factor_key=TRUE)
  
  origin_cols <- get_brewer_pal("Dark2", 3)
  
  grobs <- lapply(split(origin_data, origin_data$FID), function(x) {
    ggplotGrob(ggplot(x, aes(x="", y=-perc, fill=origin)) +
                 geom_bar(stat="identity", width=1, color="white") +
                 coord_polar("y", start=0) +
                 scale_y_continuous(expand=c(0,0)) +
                 scale_fill_manual(values=origin_cols) +
                 theme_ps(plot.axes = FALSE)) 
    

    
  })
  
  names(grobs) <- NLD_prov$name
  
  tm_shape(NLD_prov) +
    tm_polygons(group = "Provinces") +
    tm_symbols(size=1, shape="name", 
               shapes=grobs, 
               scale=1, 
               legend.shape.show = FALSE, 
               shapes.legend = 22) +
    tm_add_legend(type="fill", 
                  col=origin_cols, 
                  labels=c("Native", "Western", "Non-western"), 
                  title="Origin") +
    tm_format("NLD")

但是,我无法删除饼图周围的黑色边框。我尝试向主题添加一些修改但没有成功。如何删除这些边框?

【问题讨论】:

  • 能否将library() 调用添加到脚本顶部?这个脚本需要很多包。
  • 我添加了库

标签: r ggplot2 tmap


【解决方案1】:

border.lwd = NA 作为参数添加到tm_symbols()documentation 声明:

border.lwd:符号边框的线宽。如果 NA,则没有符号边框 被画出来了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-05
    • 1970-01-01
    • 1970-01-01
    • 2018-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多