180 votes

étiquettes des axes de rotation dans R

En R, comment faire pour que les étiquettes de l'axe des y d'un diagramme (à barres) soient parallèles à l'axe des X au lieu d'être parallèles à l'axe des Y ?

1 votes

192voto

Shane Points 40885

Je ne sais pas si c'est ce que vous voulez dire, mais essayez de définir les paramètres suivants las=1 . Voici un exemple :

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

output

Cela représente le style des étiquettes des axes. (0=parallèle, 1=toutes horizontales, 2=toutes perpendiculaires à l'axe, 3=toutes verticales)

6 votes

Ça marche, mais ça coupe les étiquettes. Des options supplémentaires peuvent donc être nécessaires.

0 votes

Existe-t-il un moyen simple de faire pivoter les étiquettes des tics des axes ? Par exemple, si j'ai des chiffres plus grands comme étiquettes de tic-tac d'axe, il est agréable de les faire pivoter d'environ 45 degrés pour trouver un bon équilibre entre la lisibilité (horizontale) et l'efficacité de l'espace (verticale).

96voto

rcs Points 22112

Utilice 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.

1 votes

Existe-t-il un moyen de le paramétrer pour que seules les étiquettes de l'axe x soient perpendiculaires à l'axe ?

23 votes

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

5 votes

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

23voto

fedorn Points 423

Comme Maciej Jonczyk mentionnés, vous devrez peut-être aussi augmenter les marges

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

14voto

MCH Points 1

Vous devez utiliser la fonction theme() comme suit en faisant pivoter les étiquettes de l'axe des x de 90 degrés :

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

0 votes

Devrait être de 90 degrés

2voto

Tout d'abord, créez les données pour le graphique

H <- c(1.964138757, 1.729143013,    1.713273714,    1.706771799,    1.67977205)
M <- c("SP105", "SP30", "SP244", "SP31",    "SP147")

Deuxièmement, donnez le nom d'un fichier graphique

png(file = "Bargraph.jpeg", width = 500, height = 300)

Troisièmement, tracez le graphique à barres

barplot(H,names.arg=M,ylab="Degree ", col= rainbow(5), las=2, border = 0, cex.lab=1, cex.axis=1, font=1,col.axis="black")
title(xlab="Service Providers", line=4, cex.lab=1)

Enfin, enregistrez le fichier

dev.off()

Sortie :

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X