Ersetzen Sie die X-Achse durch eigene Werte

95

Ich habe eine Frage zum Befehl plot ().

Gibt es eine Möglichkeit, die x-Achse vollständig zu entfernen und durch eigene Werte zu ersetzen? Ich weiß, dass ich dadurch die Achse loswerden kann

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

und fügen Sie dann eine Achse mit hinzu

axis(side = 1 etc.)

Wenn ich jedoch die Achse hinzufüge, bezieht sich dies offensichtlich immer noch auf die als 'x' dargestellten Daten. Ich möchte nur die 'y'-Werte zeichnen und die eigene x-Achse hinzufügen, indem ich nur die x-Achse mit den angegebenen eigenen Werten "zeichne". Gibt es eine Möglichkeit, das zu tun?

Der Hintergrund dieser Frage ist, dass sich meine beiden Datenrahmen in ihrer Länge unterscheiden und ich sie daher nicht zeichnen kann.

Dani
quelle
Möchten Sie Vektoren mit unterschiedlichen Längen zeichnen oder nur die x-Beschriftung selbst festlegen? Könnten Sie ein Beispiel angeben oder weitere Informationen zum Datset geben?
Manoel Galdino
Möglicherweise möchten Sie auch sehen, wie zwei Datenrahmen miteinander kombiniert werden. Möglicherweise können Sie mehr Diagramme aus Ihren Daten erstellen und die Daten wahrscheinlich informativer gestalten.
Sam
Mögliches Duplikat von Wie man die tatsächlichen x-
Achsenwerte

Antworten:

176

Ich bin mir nicht sicher, ob es das ist, was du meinst, aber du kannst das tun:

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

Das gibt Ihnen dann die Grafik:

Geben Sie hier die Bildbeschreibung ein

tim_yates
quelle
Danke Tim! Nicht genau das, wonach ich gesucht habe, aber es hat mir geholfen, das zu tun, was ich wollte =)
Dani
5
x und y sind in diesem Fall gleich lang. Wie zeichnet man n Beschriftungen, wenn die Länge der anderen Achse m beträgt?
Colbert Sesanker
2
Nur als Referenz: Die xaxt="n"Option im plotBefehl unterdrückt die Beschriftung der x-Achse. Wenn diese Option nicht enthalten ist, axiswird ein NOOP sein.
Steen
Das funktioniert, aber wie drehe ich es so, dass es vertikal ist? las = 2 funktioniert nicht.
Runningbirds
Ich habe die Lösung ausprobiert. xaxt = "n"Option funktionierte für Zeitreihen der Ts-Klasse. Bei mehreren Zeitreihen (mts-class) funktionierte dies jedoch nicht.
Erdogan CEVHER
14

Yo könnte auch eingestellt labels = FALSEinnen axis(...)und drucken Sie die Etiketten in einem separaten Befehl mit Text. Mit dieser Option können Sie den Text drehen, falls Sie ihn benötigen

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)

Detaillierte Erklärung hier

Bild mit gedrehten Etiketten

user9869932
quelle
Der Link zu detailed explanationist tot
javadba
Der Link funktioniert jetzt
Kay