2014-03-13 17 views
5

Ich versuche, Daten von zwei separaten Datenrahmen auf das gleiche Streudiagramm zu bekommen. Ich habe Lösungen in R gesehen, wie etwas verwenden:Plotten eines Streudiagramms mit mehreren Datenrahmen mit ggplot in Python

ggplot() + geom_point(data = df1, aes(df1.x,df2.y)) + geom_point(data = df2,aes(df2.x, df2.y))

Aber in Python, mit dem ggplot Modul, bekomme ich Fehler, wenn ich versuche ggplot() ohne args zu verwenden. Ist das nur eine Einschränkung des Moduls? Ich weiß, dass ich wahrscheinlich ein anderes Werkzeug zum Plotten verwenden kann, aber ich würde eine ggplot-Lösung bevorzugen, wenn möglich.

Mein erster Datenrahmen besteht aus Spannungsinformationen alle 2 Minuten und Temperaturinformationen jede Stunde, also kombiniert die beiden Datenrahmen nicht 1 zu 1. Außerdem würde ich lieber bei Python bleiben, weil der Rest meiner Lösung darin ist Python.

Antwort

7

nur gibt einen Datenrahmen als Argument für ggplot() und die andere in der zweiten geom_point Erklärung sollte die Arbeit machen:

ggplot(aes(x='x', y='y'), data=df1) + geom_point() + 
     geom_point(aes(x='x', y='y'), data=df2) 

(Ich ziehe den Spaltennamen Notation, ich glaube, elegantere, aber das ist nur eine persönliche Vorliebe)

+0

Das funktioniert, danke. Daher benötigt das 'base' ggplot ein eigenes Dataset, und nachfolgende geom_point() - Verwendungen können verschiedene Datasets hinzufügen. Ist das der Kern davon? – scld

+0

Es überraschte mich auch das erste Mal, dass ich darüber realisierte. Ich kenne nicht wirklich den Grund dafür, dass ich kein leeres ggplot() erlaube und Daten in nachfolgenden geom_point() einbeziehe. Vielleicht könnte einer der Hauptentwickler dieses Projekts besser beantworten. – MonkeyButter

+0

Ich denke, der Fehler bei einem leeren 'ggplot()' Aufruf kommt von der Zeit, wo es nicht erlaubt war, ein neues df in jedem geom anzugeben. –

Verwandte Themen