Полярный график (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()