2009-12-01 17 views
122

In R, come si fanno le etichette dell'asse y della trama (bar) parallele all'asse X anziché parallele all'asse Y?etichette dell'asse rotante in R

+0

Vedere http: //cran.r-project.o rg/doc/FAQ/R-FAQ.html # How-can-I-create-rotation-axis-labels_003f –

risposta

139

Non so se questo è ciò che intendi, ma prova a impostare las=1. Ecco un esempio:

require(grDevices) 
tN <- table(Ni <- stats::rpois(100, lambda=5)) 
r <- barplot(tN, col=rainbow(20), las=1) 

output

che rappresenta lo stile di etichette degli assi. (0 = parallelo, 1 = tutto orizzontale, 2 = tutto perpendicolare all'asse, 3 = tutto verticale)

+2

funziona, ma elimina le etichette. Quindi potrebbero essere necessarie opzioni aggiuntive. – boczniak767

76

Utilizzare par(las=1).

Vedi ?par:

las 
numeric in {0,1,2,3}; the style of axis labels. 
0: always parallel to the axis [default], 
1: always horizontal, 
2: always perpendicular to the axis, 
3: always vertical. 
+0

C'è un modo per impostarlo in modo che solo le etichette dell'asse x siano perpendicolari all'asse? – andrewj

+15

È possibile impostare lo stile Te per ciascun asse separatamente, ad es. 'trama (1, xaxt =" n ", yaxt =" n "); asse (1, las = 2); asse (2, las = 1) ' – rcs

+3

salva sempre il par prima di fare qualsiasi cambiamento del genere: old.par <- par (no.readonly = T) :-) – HongboZhu

14

Come Maciej Jończyk accennato, potrebbe anche essere necessario per aumentare i margini

par(las=2) 
par(mar=c(8,8,1,1)) # adjust as needed 
plot(...) 
7

È necessario utilizzare la funzione tema() come segue rotazione etichette di asse x di 60 gradi:

ggplot(...)+...+ theme(axis.text.x = element_text(angle=60, hjust=1)) 
+0

dovrebbe essere di 90 gradi – C8H10N4O2

Problemi correlati