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.


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



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


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


Der Link zu detailed explanationist tot
javadba

Der Link funktioniert jetzt
Kay
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.