问题描述
我正在尝试通过以下方式在地图中添加一些饼图:
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_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")
但是,我无法去除饼图周围的黑色边框。我曾尝试对主题添加一些修改,但没有成功。如何移除这些边框?
解决方法
将 border.lwd = NA
添加为 tm_symbols()
的参数。 documentation 声明:
border.lwd:符号边框的线宽。如果不适用,则没有符号边界 绘制。