2009-12-01 15 views
122

En R, comment est-ce que je fais des étiquettes d'axe Y d'un tracé (bar) parallèles à l'axe X au lieu d'être parallèles à l'axe Y?étiquettes d'axe rotatif dans R

+0

Voir http: //cran.r-project.o rg/doc/FAQ/R-FAQ.html # How-can-je-créer-rotation-axe-étiquettes_003f –

Répondre

139

Vous ne savez pas si c'est ce que vous voulez dire, mais essayez de définir las=1. Voici un exemple:

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

output

qui représente le style d'étiquettes d'axe. (0 = parallèle, 1 = tous horizontaux, 2 = tous perpendiculaires à l'axe, 3 = tous verticaux)

+2

cela fonctionne, mais il coupe les étiquettes. Des options supplémentaires peuvent donc être requises. – boczniak767

76

Utilisez par(las=1).

Voir ?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

Y a-t-il un moyen de le paramétrer pour que seules les étiquettes des axes x soient perpendiculaires à l'axe? – andrewj

+15

Le style peut être défini séparément pour chaque axe, par ex. 'plot (1, xaxt =" n ", yaxt =" n "); axe (1, las = 2); axis (2, las = 1) ' – rcs

+3

toujours sauvegarder par avant de faire des changements comme ça: old.par <- par (no.readonly = T) :-) – HongboZhu

14

Comme Maciej Jończyk mentionné, vous devrez peut-être augmenter les marges

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

Vous devez utiliser la fonction thème() comme suit rotation des étiquettes axe x par 60 degrés:

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

devrait être de 90 degrés – C8H10N4O2