我找不到使用ggplot2去除coord_polar图形的黑色边框的方法。 基于此post,我尝试了这个,但它不起作用。
有关如何移除网格并具有统一颜色背景的任何建议吗?
library(ggplot2)
a <- seq(1,20)
b <- a^0.25
df <- as.data.frame(cbind(a,b))
gg1 = ggplot(df, aes(x = a, y = b, colour = a)) +
coord_polar(start = 1) +
geom_bar(stat = 'identity') +
theme_tufte() +
theme(plot.background=element_rect(fill="floralwhite"), panel.border =
element_blank()) +
theme(legend.position="bottom")
grid:::grid.rect(gp=gpar(fill="floralwhite", col="floralwhite"))
ggplot2:::print.ggplot(gg1, newpage=FALSE)
答案 0 :(得分:2)
安装cowplot包并使用panel_border()主题并设置remove = true。希望这有用!
library(ggplot2)
library(cowplot)
a <- seq(1,20)
b <- a^0.25
df <- as.data.frame(cbind(a,b))
gg1 = ggplot(df, aes(x = a, y = b, colour = a)) +
coord_polar(start = 1) +
geom_bar(stat = 'identity') +
theme_tufte() +
theme(plot.background=element_rect(fill="floralwhite") +
theme(legend.position="bottom")+
panel_border(remove = TRUE))
grid:::grid.rect(gp=gpar(fill="floralwhite", col="floralwhite"))
ggplot2:::print.ggplot(gg1, newpage=FALSE)
答案 1 :(得分:2)
黑线由plot.background
元素绘制。您需要将其颜色设置为NA
以删除该行:
gg1 <- ggplot(df, aes(x = a, y = b, colour = a)) +
coord_polar(start = 1) +
geom_bar(stat = 'identity') +
theme_tufte() +
theme(plot.background = element_rect(fill="floralwhite", color = NA),
legend.position = "bottom")
grid:::grid.rect(gp = gpar(fill="floralwhite", col="floralwhite"))
ggplot2:::print.ggplot(gg1, newpage=FALSE)
ASP.NET Core Configuration documentation
请注意,如果您不想使用非导出的ggplot2函数(例如print.ggplot()
)修复背景图,则可以使用来自cowplot的ggdraw()
来实现相同的效果:< / p>
cowplot::ggdraw(gg1) +
theme(plot.background = element_rect(fill="floralwhite", color = NA))
(结果与之前完全相同。)