删除 ggplot 周围的彩色边框
Remove colored border around ggplot
我正在将 ggplots
添加到 viewports
。 ggplot
和 viewport
都具有相同的 背景 颜色。我的问题是我的 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() 也完成了这项工作
我正在将 ggplots
添加到 viewports
。 ggplot
和 viewport
都具有相同的 背景 颜色。我的问题是我的 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() 也完成了这项工作