2016-04-28 162 views
3

我無法在下圖中移動軸標籤(字段數據,輔助數據等),以使它們都很大並完全適合圖表。整個代碼如下。建議做什麼?如何使用ggplot2中的coord_polar移動x軸標籤

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將標籤分成兩行,希望這可以幫助他們適應,但我不確定如何做到這一點。

回答

5

這是我能在瞬間做到最好:

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) 

這個想法是從this答案服用。

+0

謝謝!這當然非常有幫助! –

-4

R不適用於添加標籤和軸標題。

我建議從R中導出圖形作爲矢量圖形文件(.svg),然後在矢量圖形軟件中添加標籤。我使用Inkscape軟件,因爲它可以免費下載,而且學習起來相當直觀。

+0

酷!謝謝。當R無法做到這一點時,這將是一個好去處! –