2013-12-16 14 views

risposta

17

È possibile includere ad esempio la funzione ifelse() all'interno di element_text() per avere etichette diverse.

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

Oppure si può fornire vettore di valori all'interno element_text() la stessa lunghezza come numero di livelli.

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

Grazie @ Didzis-elferts. Funziona come pubblicizzato nei tuoi esempi - e ha anche molto senso - ma non funziona usando i miei dati. In particolare, ciò che accade è che le etichette evidenziate sono quelle sbagliate. È un comportamento strano perché il vettore delle condizioni è corretto. Deve avere qualcosa a che fare con l'ordinamento in ggplot. Proverò a risolvere la soluzione! – PaoloCrosetto

+0

@PaoloCrosetto È difficile commentare perché questa soluzione non funzioni per te. Se hai aggiornato la tua domanda con un esempio riproducibile, potrei provare ad aiutarti. –

+0

Grazie a @Didzis. Sto cercando di fare esattamente questo. Il problema è che non posso condividere i miei dati (ho termini restrittivi sul loro uso) e non sono in grado di riprodurre il problema con dati falsi ... Farò del mio meglio :) – PaoloCrosetto

Problemi correlati