Полярный график (ggplot2), внешнее кольцо удалено, сетка сверху - PullRequest
0 голосов
/ 19 сентября 2018

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

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

enter image description here

Я уверен, что это что-то очень простое, но для моей жизни яЯ потратил 3 дня на это и не могу понять это правильно.

Любая помощь будет очень признательна,

Ана

1 Ответ

0 голосов
/ 19 сентября 2018

решаемые !!

Я поместил [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()
...