如何使用ggplot2中的coord_polar移动x轴标签

6

我无法移动下图中的轴标签(字段数据,次要数据等),使它们既大又完全适合图表。整个代码如下所示。有什么建议吗?

Coord_polar figure

Datasource<-c("Field data", "Participatory data", "Remotely sensed data", 
              "Remotely sensed secondary data", "Secondary data")
Number<-c(32,39,55,96,202)
Percentage<-c(11,14,19,34,70)
DF<-data.frame(Datasource, Number, Percentage)

FigDataSourcesFlower<-ggplot(data=DF, aes(x=Datasource, y=Percentage)) +
  geom_bar(stat="identity", fill = "blue") + theme_bw() + 
  geom_text(aes(y = Percentage + 2.5,label = Percentage)) +
  coord_polar() +
  theme(axis.text.x = element_text(size = 15), axis.text.y=element_blank(), axis.ticks=element_blank(), axis.title=element_blank())
FigDataSourcesFlower

我尝试使用hjustvjust,但我认为这不完全是我想要的,因为它们更适用于角度调整。我读到可能可以使用\n来将标签分成两行,希望这有助于它们适合,但我不确定如何做到这一点。


如果您在2018年之后遇到此问题,可以查看以下类似问题的解决方案建议,这可能会对您有所帮助。 - Captain Hat
1个回答

8

目前,这是我所能做到的最好的:

p<-ggplot(data=DF, aes(x=Datasource, y=Percentage)) +
    geom_bar(stat="identity", fill = "blue") + 
    geom_text(aes(y = Percentage + 2.5,label = Percentage)) +
    coord_polar() +
    theme_bw() + 
    theme(axis.text.x = element_text(size = 15), 
                axis.text.y=element_blank(), 
                axis.ticks=element_blank(), 
                axis.title=element_blank(),
                panel.border = element_blank())
p

library(grid)
gt <- ggplot_gtable(ggplot_build(p))
gt$layout$clip[gt$layout$name == "panel"] <- "off"
grid.draw(gt)

这个想法来自于这个答案。

谢谢!那肯定非常有帮助! - Dalal_EL_Hanna

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接