1

我已经搜索并重新搜索了不同的问题,虽然我看到了类似的问题(有些确实很有帮助),但我似乎无法找到答案。

我正在使用极坐标图,默认情况下,这些图会添加一个我不想要的额外外环。我设法通过删除 [panel.grid] 并改用 [geom.hline] 来摆脱它。

这是我的问题:

  • 如果我使用 panel.ontop=FALSE ,网格线会显示在绘图下方,并且我会丢失单位参考(我需要)(例如,无法看到对应于 1 的除法在哪里)

  • 如果我使用 panel.ontop=TRUE,我会松开网格线

我想要的是将网格线放在顶部(并且没有最外圈)的情节。在这里您可以看到我的代码示例:

##Data
Main.Actions <- c("Financing","Anchoring regulations", "Awareness", "Sewage", "Enforcement", "Coordination")
count<-c(2, 2,4,2,3,3)
improve<-data.frame(Main.Actions, count, stringsAsFactors = FALSE)

## Plot

MA4<- ggplot(improve, aes(x = Main.Actions, y=count, fill=Main.Actions, width=1)) +
  geom_hline(yintercept = seq(0, 4, by = 1), colour = "grey", size = 0.35) +
  theme(
    panel.grid.major.x=element_blank(),
    panel.background = element_blank(),
    panel.border = element_blank(),
    panel.ontop = FALSE,
    legend.position = "none",
    axis.title.x = element_blank(),
    axis.title.y = element_blank(),
    axis.text.y=element_blank(),
    axis.text.x=element_blank(),
    axis.ticks.y=element_blank())+

  theme(plot.margin=unit(c(0,0,0,0),"cm"))+

  geom_bar(stat="identity")+scale_fill_brewer(palette = "Blues") + 
  coord_polar()

MA4

在此处输入图像描述

我确信这是非常简单的事情,但是对于我的生活,我已经花了 3 天的时间来做这件事并且无法做到正确。

任何帮助将不胜感激,

安娜

4

1 回答 1

2

解决了!!

我将 [geom_hline] 放在 [geom_bar] 之后,现在它绘制了我需要的内容。我希望这可以对其他用户有所帮助。在下面找到代码:

MA4<- ggplot(improve, aes(x = Main.Actions, y=count, fill=Main.Actions, width=1)) +

  theme(
    panel.grid.major.x=element_blank(),
    panel.background = element_blank(),
    panel.border = element_blank(),
    panel.ontop =FALSE,
    legend.position = "none",
    axis.title.x = element_blank(),
    axis.title.y = element_blank(),
    axis.text.y=element_blank(),
    axis.text.x=element_blank(),
    axis.ticks.y=element_blank())+

  theme(plot.margin=unit(c(0,0,0,0),"cm"))+

  geom_bar(stat="identity")+scale_fill_brewer(palette = "Blues") + 
  geom_hline(yintercept = seq(0, 4, by = 1), colour = "darkgrey", size = 0.35) +
  coord_polar()
于 2018-09-19T13:26:32.200 回答