2014-09-11 91 views
0

這個問題是涉及到:ggplot in function not working despite aes_string in R修正x軸的功能

> dput(df1) 
structure(list(firstvar = c("a1", "a2", "a3"), secondvar = c(25L, 
50L, 75L)), .Names = c("firstvar", "secondvar"), class = "data.frame", row.names = c(NA, 
-3L)) 
> df1 
    firstvar secondvar 
1  a1  25 
2  a2  50 
3  a3  75 

myplot = function(ddf){ 
    ggplot(ddf) + 
     geom_bar(aes_string(1, names(ddf)[2], fill=names(ddf)[1]), stat="identity")+ 
     geom_text(aes_string(x=1, y=cumsum((ddf)[2]), label=names(ddf)[2])) 
} 

myplot(df1) 

該地塊工作,但我想對x軸無文本(因爲1已經投入只是爲了有一個點在x軸上;它不代表數據中的任何內容)。放置任何字符,包括空白字符會產生錯誤或破壞圖形。我如何在這裏刪除x軸文本?

回答

1

可以與設定的theme()axis.text.x除去軸文本到element_blank().

myplot = function(ddf){ 
    ggplot(ddf) + 
     geom_bar(aes_string(1, names(ddf)[2], fill=names(ddf)[1]), stat="identity")+ 
     geom_text(aes_string(x=1, y=cumsum((ddf)[2]), label=names(ddf)[2]))+ 
     theme(axis.text.x=element_blank()) 
    } 

myplot(df1) 
+0

我需要axis.text.x = element_blank()。謝謝。 – rnso 2014-09-11 05:18:54

+0

Corected我的答案。 – 2014-09-11 05:24:16