Ich verwende die Scatterplot-Funktion aus dem Auto-Paket, um ein Streudiagramm zu erzeugen. Ich möchte in der Lage sein, eine Bezugslinie zu erzeugen, die x = y sein sollte. Ich habe versucht, mit abline und es fügt eine Zeile, aber es ist nicht die x = y Zeile. Kann jemand helfen?
Mein Code ist wie folgt:
%Vor%Danke.
Das ist eigentlich ziemlich schwierig / hackish, weil scatterplot()
intern layout
verwendet, was es schwierig macht, das Subplot zu steuern, das gerade vom Grafiktreiber benutzt wird. ( Update : Es ist schwieriger als ich dachte - die Einstellung par("mfg")
muss mehr oder weniger zufällig funktionieren.)
Erstellen Sie Daten ( update : Verwenden Sie Daten mit Mittelwert x und y nicht gleich Null und nicht gleich zueinander, da dies die Schwierigkeit verdeutlicht, abline()
eindeutiger zu verwenden)
Versuche meine alte Strategie (die nicht wirklich funktioniert oder nur unvorhersehbar funktioniert):
%Vor%}
Je nachdem, wie ich das mache, erhalte ich entweder Warnungen und Fehler oder falsche Antworten. Es scheint egal zu sein, ob ich den scatterplot()
Aufruf innerhalb einer Funktion mache ... ??
Zweiter Versuch, konservativer: Layout von Grund auf rekonstruieren.
%Vor%
Angesichts des Aufwands und der Fragilität dieser Lösung ist es möglicherweise am besten, scatterplot
zu hacken, um optional abline()
zusätzlich anzugeben, oder den Betreuer nach dieser Fähigkeit zu fragen ...
Ich benutze nur die Funktion segments: Segmente (x0 = 0, y0 = 0, x1 = 45, y1 = 45)
Stellen Sie einfach die y-Werte knapp über die Grenzen Ihres Diagramms.
Diese Funktion ist auch gut, weil sie Ihre x- und y-Grenzen nicht verändert, so dass die Linie sauber über Ihre Grafik laufen kann, ohne die x- und y-Werte genau auswählen zu müssen.
Sie können Ihr Ziel mit der gleichen Funktion abline
erreichen. Verwenden Sie die Funktion abline(a=0, b=1)
, wobei a
und b
jeweils der Schnittpunkt und der Abfall der Linie sind. Dies zeichnet eine gerade Linie der Form Y = a + b*x
.
Hoffe, das hilft.
Tags und Links r line plot scatter-plot