Anpassen der Grenzen der x- und y-Achse, wenn neue Kurven zu einem Diagramm in R hinzugefügt werden

9

Ich habe zwei Datensätze ( df1 und df2 ), die geplottet werden.

%Vor%

Einige Werte von df2 liegen außerhalb des Plot-Bereichs und sind daher nicht sichtbar. (In diesem Beispiel könnte ich einfach df2 zuerst darstellen). Ich versuche normalerweise, die Bereiche meiner Daten herauszufinden, wie unten gezeigt.

%Vor%

Bei vielen Datensätzen wird dies ärgerlich. Ich habe mich gefragt, ob es eine einfachere Möglichkeit gibt, die Achsenbereiche einzustellen. Im ersten Schritt findet R die Achse selbst. Gibt es auch einen Weg, wie R die Achsenbereiche einstellt, wenn neue Datensätze hinzugefügt werden?

    
John Garreth 08.11.2012, 10:49
quelle

4 Antworten

3

Sie könnten range verwenden, um die Grenzwerte zu berechnen.

Imho, eine bessere Lösung:

%Vor%     
Roland 08.11.2012 12:06
quelle
3

Ich mag @ Rolands Lösung, aber hier ist eine Erweiterung von @ Glen_b's Lösung, die für eine beliebige Anzahl von Datensätzen funktioniert, wenn Sie alle in einer Liste haben.

( Warnung : nicht getestet!)

%Vor%

Dies setzt voraus, dass alle Datensätze als Linien gezeichnet werden sollen. Wenn Sie mit der Angabe von separaten Farben, Punkttypen usw. beginnen möchten, können Sie diese Funktion erweitern. Sie beginnen jedoch, die Pakete lattice und ggplot2 an diesem Punkt neu zu erfinden.

(Wenn alle Ihre Datensätze dieselbe Größe haben, sollten Sie matplot berücksichtigen)

    
Ben Bolker 08.11.2012 14:49
quelle
2

Sie könnten immer eine Funktion schreiben:

%Vor%

Dann machst du das einfach:

%Vor%

Wenn Sie Lust haben, können Sie sogar das Argument ... einfügen und es an den Plot-Aufruf übergeben.

    
Glen_b 08.11.2012 11:23
quelle
0

Sehen Sie sich die Funktion matplot an, sie akzeptiert eine Matrix als x, y oder beides und führt alle automatischen Bereichsberechnungen für Sie durch. Wenn Sie die Daten in mehreren Datenrahmen haben, können Sie sapply verwenden, um die Schlüsselstücke zu extrahieren und die Matrizen zu bilden.

Dieser Ansatz ist oft noch einfacher als die Verwendung der Linienfunktion:

%Vor%

Obiges ist noch einfacher, wenn alle Datenrahmen dieselbe Anzahl von Zeilen haben.

Der andere Ansatz, der in den Kommentaren erwähnt wird, besteht darin, die Datensätze in einem einzigen Datensatz zu kombinieren und Werkzeuge wie Gittergraphiken oder ggplot2 zu verwenden:

%Vor%

Wenn alles andere fehlschlägt, können Sie die Funktion zoomplot aus dem TeachingDemos-Paket verwenden, um die Grenzen der Basisgrafiken nachträglich zu ändern, aber die obigen Methoden sind viel besser.

    
Greg Snow 08.11.2012 17:28
quelle

Tags und Links