Полярный график (ggplot2), внешнее кольцо удалено, сетка сверху

Я искал и повторно искал различные вопросы, и хотя я видел похожие (некоторые действительно очень полезные), я не могу найти ответ на этот вопрос.

Я работаю с полярными графиками, по умолчанию эти графики добавляют дополнительное внешнее кольцо, которое мне не нужно. Мне удалось избавиться от него, удалив [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 дня на это и не могу понять это правильно.

Любая помощь будет высоко оценена,

изречений

1 ответ

Решено!!

Я поместил [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()
Другие вопросы по тегам