R: ziehen Sie eine Linie zwischen zwei Punkten in ggplot
Habe ich einen Daten-frame sieht wie folgt aus:
X Y
100 50
80 60
70 90
110 60
30 20
... ...
Rund 100 Zeilen mehr. Die beiden X-Spalten und Y-Spalte sind numerische
Wenn ich den plot dieser Punkte, möchte ich zeichnen Sie eine Linie zwischen dem ersten Punkt (100,50) und der rest Punkte. In anderen Worten, ich möchte eine Linie verbindet (100,50) (80,60), eine Linie verbindet (100,50) mit (70,90), eine Linie verbindet (100,50) mit (110,60), aber es gibt keine Linie zwischen (80,60) und (70,90). Alle Linien starten aus dem ersten Punkt.
Ich nicht über die Dritte Spalte. Ich kann nicht mit Gruppe. Ich Frage mich, ob ich noch plot dieser Kurve im ggplot.
Danke
InformationsquelleAutor cutebunny | 2015-12-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Idee ist Gruppe. Für diese, müssen Sie fügen Sie eine Dritte Spalte, die verwendet werden können für die Gruppierung. Ein möglicher Weg um dies zu erreichen, ist wie folgt.
Zuerst definiere ich die sample-Daten
Dann erstelle ich eine neue Daten-frame, wo die erste Zeile wird wiederholt für jede der anderen Zeilen. Eine Spalte
grp
kommt hinzu, dass links jeweils die Wiederholungen der ersten Zeile zu den anderen Zeilen:Nun, der plot erstellt werden können, die direkt mit ggplot:
Den ästhetischen
group
steuert, welche Punkte sollen durch eine Linie verbunden. Da die Spaltegrp
imnew_data
immer Paare eine Wiederholung der ersten Zeile mit jeder der anderen Zeilen, den entsprechenden Punkt der ersten Zeile ist verbunden mit jedem der anderen Punkte.Wenn du weglassen
group = grp
, ein Grundstück mit einer einzigen Linie durch die Punkte gezeichnet wird.aes(X, Y, group = 1)
zum verbinden aller Punkte, ohne dass eine neue Spalte.InformationsquelleAutor Stibu