2013-12-16 41 views

回答

17

您可以在element_text()中包含例如ifelse()函數以具有不同的標籤。

ggplot(iris,aes(Species,Petal.Length))+geom_boxplot()+ 
    theme(axis.text.x= 
      element_text(face=ifelse(levels(iris$Species)=="setosa","bold","italic"))) 

或者您可以在element_text()內提供與水平數量相同長度的向量值。

ggplot(iris,aes(Species,Petal.Length))+geom_boxplot()+ 
theme(axis.text.x = element_text(face=c("bold","italic","bold"), 
            size=c(11,12,13))) 

enter image description here

+0

感謝@ Didzis-elferts。它的工作方式與您的示例中所宣傳的一樣 - 並且它也很有意義 - 但它無法使用我的數據。特別是,會發生什麼是突出顯示的標籤是錯誤的。這是一種奇怪的行爲,因爲條件向量是正確的。它必須與ggplot中的排序有關。我會盡力解決這個問題! – PaoloCrosetto

+0

@PaoloCrosetto很難評論爲什麼這個解決方案不適合你。如果你用可重複的例子更新了你的問題,我可以嘗試提供幫助。 –

+0

謝謝@Didzis。我正在努力做到這一點。問題是我無法分享我的數據(我對他們的使用有限制條款),我無法用假數據重現問題...我會盡我所能:) – PaoloCrosetto