删除 ggplot 周围的彩色边框

Remove colored border around ggplot

我正在将 ggplots 添加到 viewportsggplotviewport 都具有相同的 背景 颜色。我的问题是我的 ggplots 周围有一个白色矩形,我似乎无法找到使用 theme 删除它的选项。有什么想法吗?

library(grid)
library(ggplot2)

Pie_chart <- ggplot(df , aes(x = "", y = prop_1, fill = rank) ) +
  geom_bar(stat="identity", width=2) +
  coord_polar("y", start = 0) + 
  labs(x = NULL, y = NULL, fill = NULL, title = "") + 
  theme(axis.line = element_blank(), 
        axis.text = element_blank(), 
        axis.ticks = element_blank(), 
        legend.position="none")+
  theme(plot.margin = unit(c(0.0, 0.0, 0.0, 0.0), "cm"),
        plot.background = element_rect(fill = "blue"),
        panel.background = element_rect(fill = "blue"))

lower_section_viewport <- viewport(
  layout = grid.layout(nrow = 1, ncol = 2, 
                       widths = unit(c(2, 1), c("null", "null"))), 
  name = "lower_section")

grid.newpage()
pushViewport(lower_section_viewport)
grid.rect(gp = gpar(fill = "blue", col = "blue" ))

pushViewport(viewport(layout.pos.row = 1, layout.pos.col = 2))
print(Pie_chart, vp = current.viewport())
upViewport()

数据:

 > dput(df)
    structure(list(a = structure(1:11, .Label = c("0-Management", 
    "1-Business, finance & administration", "2-Natural and applied sciences", 
    "3-Health occupations", "4-Occupations in education", "5-Art & culture", 
    "6-Sales ans service occupations", "7-Trade & Transport", "8-Agriculture", 
    "9-Manufacturing", "X-Not Identified"), class = "factor"), b = c(75, 
    92, 64, 61, 90, 51, 77, 78, 94, 98, 96), prop = c("9%", "11%", 
    "7%", "7%", "10%", "6%", "9%", "9%", "11%", "11%", "11%"), prop_1 = c(9, 
    11, 7, 7, 10, 6, 9, 9, 11, 11, 11), rank = c("0", "1", "2", "3", 
    "4", "5", "6", "7", "8", "9", "X")), class = "data.frame", row.names = c(NA, 
    -11L))

您要查找的 theme(plot.backround = ... ) 中的参数 colour = NA

Pie_chart <- ggplot(df , aes(x = "", y = prop_1, fill = rank) ) +
  geom_bar(stat="identity", width=2) +
  coord_polar("y", start = 0) + 
  labs(x = NULL, y = NULL, fill = NULL, title = "") + 
  theme(axis.line = element_blank(), axis.text = element_blank(), axis.ticks = element_blank(), legend.position="none")+
  theme(plot.margin = unit(c(0.0, 0.0, 0.0, 0.0), "cm"),
        plot.background = element_rect(fill = "blue", 
                                       colour = NA), # here it is
        panel.background = element_rect(fill = "blue"))

...

panel.border = element_blank() in theme() 也完成了这项工作