116 votes

Remplacer l'axe des X par ses propres valeurs

J'ai une question concernant la commande plot().

Existe-t-il un moyen d'éliminer complètement l'axe des x et de le remplacer par ses propres valeurs ? Je sais que je peux me débarrasser de l'axe en faisant

plot(x,y, xaxt = 'n')

puis ajouter un axe avec

axis(side = 1 etc.)

Cependant, lorsque j'ajoute l'axe, il est évident qu'il fait toujours référence aux données tracées en tant que "x". J'aimerais seulement tracer les valeurs 'y' et ajouter l'axe x moi-même dans le sens de simplement "dessiner" l'axe x avec mes propres valeurs spécifiées. Existe-t-il un moyen de faire cela ?

Le contexte de cette question est que mes deux cadres de données ont une longueur différente et que je ne peux donc pas les représenter.

206voto

tim_yates Points 63521

Je ne sais pas si c'est ce que vous voulez dire, mais vous pouvez le faire :

plot(1:10, xaxt = "n", xlab='Some Letters')
axis(1, at=1:10, labels=letters[1:10])

ce qui permet d'obtenir le graphique :

enter image description here

22voto

julianromera Points 401

Vous pouvez définir labels = FALSE à l'intérieur axis(...) puis d'imprimer les étiquettes dans une commande séparée à l'aide de text(...) . Cette option vous permet de faire pivoter le texte en cas de besoin.

lablist<-as.vector(c(1:10))
axis(1, at=seq(1, 10, by=1), labels = FALSE)
text(seq(1, 10, by=1), par("usr")[3] - 0.2, labels = lablist, srt = 45, pos = 1, xpd = TRUE)

Explication détaillée aquí

Image with rotated labels

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