Ich habe einige Pandas DataFrames, die dieselbe Werteskala verwenden, aber unterschiedliche Spalten und Indizes haben. Beim Aufrufen df.plot()
erhalte ich separate Plotbilder. Was ich wirklich möchte, ist, dass sie alle in derselben Handlung wie Nebenhandlungen sind, aber ich finde leider keine Lösung dafür, wie und würde mich über Hilfe sehr freuen.
quelle
.subplots()
je nach den Abmessungen des von Ihnen erstellten Arrays von Unterplots unterschiedliche Koordinatensysteme zurückgegeben werden. Wenn Sie also Unterzeichnungen zurückgeben, in denennrows=2, ncols=1
Sie beispielsweise die Achsen alsaxes[0]
und indizieren müssenaxes[1]
. Siehe stackoverflow.com/a/21967899/1569221IndexError: too many indices for array
.subplot()
verwendet werden. Aufsqueeze=False
Force setzen.subplot()
, umndarray
in jedem Fall von Zeilen und Spalten immer ein zurückzugeben .Sie können z.B. in der Dokumentation , die joris Antwort demonstriert. Auch aus der Dokumentation können Sie auch
subplots=True
undlayout=(,)
innerhalb der Pandas-plot
Funktion einstellen :Sie können auch
fig.add_subplot()
Subplot-Rasterparameter wie 221, 222, 223, 224 usw. verwenden, wie im Beitrag hier beschrieben . In diesem Ipython-Notizbuch sind schöne Beispiele für die Darstellung im Pandas- Datenrahmen zu sehen, einschließlich Unterzeichnungen .quelle
subplots
undlayout
kwargs NUR mehrere Diagramme für einen einzelnen Datenrahmen generieren. Dies hängt mit der Frage von OP zusammen, mehrere Datenrahmen in einem einzigen Diagramm zu zeichnen, ist jedoch keine Lösung dafür.layout=(df.shape[1], 1)
beispielsweise verwendet werden).Sie können den bekannten Matplotlib-Stil verwenden, der ein
figure
und aufruftsubplot
, aber Sie müssen lediglich die aktuelle Achse mit angebenplt.gca()
. Ein Beispiel:etc...
quelle
Mit matplotlib können Sie mehrere Unterzeichnungen mehrerer Pandas-Datenrahmen mit einem einfachen Trick zeichnen, indem Sie eine Liste aller Datenrahmen erstellen. Verwenden Sie dann die for-Schleife zum Zeichnen von Unterplots.
Arbeitscode:
Mit diesem Code können Sie Unterzeichnungen in jeder Konfiguration zeichnen. Sie müssen nur die Anzahl der Zeilen
nrow
und Spalten definierenncol
. Außerdem müssen Sie eine Liste der Datenrahmen erstellen,df_list
die Sie zeichnen möchten.quelle
count =+1
count +=1
Sie können dies verwenden:
quelle
Möglicherweise müssen Sie Pandas überhaupt nicht verwenden. Hier ist ein Matplotlib-Diagramm der Katzenfrequenzen:
quelle
Aufbauend auf der obigen @ joris-Antwort können Sie die Referenz auch verwenden, wenn Sie bereits einen Verweis auf das Unterplot erstellt haben. Beispielsweise,
quelle
So erstellen Sie mehrere Diagramme aus einem Wörterbuch von Datenrahmen mit langen (ordentlichen) Daten
Annahmen
cat
können sich überlappen, aber alle Datenrahmen enthalten möglicherweise nicht alle Werte voncat
hue='cat'
Da Datenrahmen durchlaufen werden, kann nicht garantiert werden, dass die Farben für jedes Diagramm gleich zugeordnet werden
'cat'
Werten für alle Datenrahmen muss eine benutzerdefinierte Farbkarte erstellt werdenImporte und synthetische Daten
Erstellen Sie Farbzuordnungen und Plots
quelle