Cambiare la dimensione del carattere e la direzione del testo degli assi in ggplot2

Sto tracciando un grafico con una variabile categorica sull'asse x e una variabile numerica sull'asse y.

Per l'asse x, dato che ci sono molti punti dati, la formattazione predefinita del testo fa sì che l'etichetta per ogni segno di spunta si sovrapponga alle altre etichette. Come posso (a) cambiare la dimensione del carattere per il testo dell'asse e (b) cambiare l'orientamento del testo in modo che sia perpendicolare all'asse?

Soluzione

Idem @Drew Steen sull'uso di theme(). Qui ci sono attributi tematici comuni per il testo degli assi e i titoli.

ggplot(mtcars, aes(x = factor(cyl), y = mpg))+
  geom_point()+
  theme(axis.text.x = element_text(color = "grey20", size = 20, angle = 90, hjust = .5, vjust = .5, face = "plain"),
        axis.text.y = element_text(color = "grey20", size = 12, angle = 0, hjust = 1, vjust = 0, face = "plain"),  
        axis.title.x = element_text(color = "grey20", size = 12, angle = 0, hjust = .5, vjust = 0, face = "plain"),
        axis.title.y = element_text(color = "grey20", size = 12, angle = 90, hjust = .5, vjust = .5, face = "plain"))
Commentari (0)

Usare l'attributo "fill" aiuta in casi come questo. Potete rimuovere il testo dall'asse usando element_blank()e mostrare un grafico a barre multicolore con una legenda. Sto tracciando la frequenza di rimozione di un pezzo in un'officina come segue

ggplot(data=df_subset,aes(x=Part,y=Removal_Frequency,fill=Part))+geom_bar(stat="identity")+theme(axis.text.x  = element_blank())

Ho optato per questa soluzione nel mio caso perché avevo molte barre nel grafico a barre e non sono stato in grado di trovare una dimensione del carattere adatta che sia leggibile e anche abbastanza piccola da non sovrapporsi.

Commentari (0)