web-dev-qa-db-fra.com

Remplacer l'axe 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 ajoutez un axe avec

axis(side = 1 etc.)

Cependant, lorsque j'ajoute l'axe, il fait évidemment référence aux données tracées sous la forme "x". Je voudrais seulement tracer les valeurs 'y' et ajouter mon axe des x dans le sens de "dessiner" simplement l'axe des x avec ses propres valeurs spécifiées. Y'a-t'il un quelconque moyen d'y arriver?

Le fond de cette question est que mes deux trames de données diffèrent par leur longueur et que je ne peux donc pas les tracer.

87
Dani

Vous ne savez 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])

qui vous donne ensuite le graphique:

enter image description here

165
tim_yates

Vous pouvez également définir labels = FALSE dans axis(...) et imprimer les étiquettes dans une commande séparée avec Text. Avec cette option, vous pouvez faire pivoter le texte le texte au cas où vous en avez 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 ici

Image with rotated labels

12
user9869932