Einstellen beider Achsen auf den gleichen Bereich<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Die Standardbereichseinstellung in Y-mal-X-Diagrammen besteht darin, den gesamten Bereich der Daten unabhängig in x und y anzuzeigen.Das ist in Ordnung, aber ich habe eine spezielle Bedingung, bei der ich einige Restfehler in x- und y-Richtung zeichne und ich möchte, dass die Diagramme in x und y den gleichen Bereich haben.Der Effekt, den ich zu erreichen versuche, ist, dass, wenn die Fehler in jeder Richtung normal verteilt sind, die Residuen in einem kreisförmigen Muster erscheinen. Wenn sie in X oder Y schlechter sind, sollte eine Ellipse zu sehen sein.Natürlich gibt es Ausreißer in jede Richtung und der Achsenbereich wird von ihnen bestimmt.
Was ist der einfachste Weg, die Achse so zu skripten, dass sie den gesamten Bereich der schlechteren Richtung einnimmt?Etwas, das der einheitlichen Skalierung in Histogrammdiagrammen ähnelt.
Betreff: Beide Achsen auf den gleichen Bereich setzenHallo Howard,
Ihre Lösung ist die gewünschte.Ich würde vorschlagen, dass dies eine Funktionsanfrage ist, die wie isometrisch eingestellt werden kann.
Andy
Betreff: Beide Achsen auf den gleichen Bereich setzenCraiges Antwort ist wahrscheinlich die einfachste. Wir benötigen oft eine quadratische Version des Diagramms, bei der die Achsen den gesamten Bereich abdecken. Eine Möglichkeit, dies zu tun, besteht darin, die Min- und Max-Werte zu bestimmen und beide Achsen auf dieselben Werte einzustellen.
g = Bivariat( Y( :Höhe ), X( :Gewicht ) );
minaxis = Min(Spalte Min(:Höhe),Spalte Min(:Gewicht));
maxaxis = Max(Spalte Max(:Höhe),Spalte Max(:Gewicht));
(Report( g )[axisbox( 1 )]) << {Min( minaxis ), Max( maxaxis )};
(Report( g )[axisbox( 2 )]) << {Min( minaxis ), Max( maxaxis )};
(Report( g )[framebox( 1 )]) << Frame Size( 320, 320 );
Das resultierende Diagramm:

Manchmal füge ich diesem Diagramm eine 45-Grad-Linie hinzu, um X = Y anzuzeigen. Dieses Diagramm ist nützlich, wenn X und Y die darstellen gleich Eigenschaft oder Merkmal (nicht Größe und Gewicht). Wenn X und Y Werte derselben Eigenschaft darstellen, die von den Messgeräten X und Y gemessen wurden, würde uns diese Grafik sagen, dass es ein Problem zwischen den beiden Messgeräten gibt.
Einige Punkte befinden sich am Rand des Diagramms. Dies kann behoben werden, indem eine "gewichtete Kombination" von Min- und Max-Werten verwendet wird, um die Achsen zu erweitern:
minaxis = 1,05 * Min(Spalte Min(:Höhe),Spalte Min(:Gewicht)) - 0,05* Max(Spalte Max(:Höhe),Spalte Max(:Gewicht)) ;
maxaxis = -0,05 * Min(Spalte Min(:Höhe),Spalte Min(:Gewicht)) + 1,05* Max(Spalte Max(:Höhe),Spalte Max(:Gewicht)) ;
Viel Glück!
Howard
Betreff: Beide Achsen auf den gleichen Bereich setzenVielen Dank.
Betreff: Beide Achsen auf den gleichen Bereich setzeninteraktiv, Rechtsklick-Grafik->Grafik->Größe/Skalierung->Größe zu isometrisch.
g = Graph Builder(
Size( 348, 336 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 6 ) ), Smoother( X, Y, Legend( 7 ) ) )
);
(report(g)[framebox(1)])<
Die Grafik beginnt etwa quadratisch, 348 x 336. Größe zu isometrisch:

Die beiden Skalen stimmen überein, 50 bis 70 auf der v-Achse ist etwas kürzer als 50 bis 75 auf der h-Achse.