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?
Usa theme()
:
d <- data.frame(x=gl(10, 1, 10, labels=paste("long text label ", letters[1:10])), y=rnorm(10))
ggplot(d, aes(x=x, y=y)) + geom_point() +
theme(text = element_text(size=20),
axis.text.x = element_text(angle=90, hjust=1))
#vjust adjust the vertical justification of the labels, which is often useful
Ci sono molte buone informazioni su come formattare i tuoi ggplot qui. Puoi vedere una lista completa dei parametri che puoi modificare (fondamentalmente, tutti) usando ?theme
.
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"))
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.