2013-12-16 23 views
8

私はggplotを持っており、定義済みの条件に従って特定のx軸ラベルだけを強調したいと思います。条件に応じてggplot2の軸ラベルのフォーマットを変更する

私は、軸テキストが

theme(axis.text = element_text(...)) 

によって制御されるが、これは軸のすべてのラベルに適用されることを知っています。フォーマットの変更は、条件が1のラベルのみに適用されます。

答えて

17

たとえばifelse()の中には、element_text()のラベルに異なるラベルを含めることができます。

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

それともelement_text()内のレベルの数と同じ長さの値のベクトルを提供することができます。 Didzis-elferts @

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

感謝。それはあなたの例で宣伝されているように動作します - それはまた多くの意味があります - しかし、私のデータを使用して動作しません。特に、強調表示されたラベルが間違ったラベルであることが起こります。条件のベクトルが正しいので、これは奇妙な動作です。それはggplotでの並べ替えと関係があります。私は解決策を試してみよう! – PaoloCrosetto

+0

@PaoloCrosettoなぜこのソリューションがあなたのために機能しないのかをコメントするのは難しいです。再現可能な例題で質問を更新した場合、私は手伝ってみることができます。 –

+0

ありがとう@Didzis。私はこれを正確にやろうとしています。問題は私のデータを共有することができないことです(私はその使用について制限的な条件があります)、私は偽のデータで問題を再現することができません...私はベストを尽くします:) – PaoloCrosetto

関連する問題