So erstellen sie ein matplotlib-diagramm mit zwei y-achsen


Der einfachste Weg, ein Matplotlib-Diagramm mit zwei y-Achsen zu erstellen, ist die Verwendung der Funktion twinx() .

Das folgende Beispiel zeigt, wie Sie diese Funktion in der Praxis nutzen können.

Beispiel: Erstellen Sie einen Matplotlib-Plot mit zwei Y-Achsen

Nehmen wir an, wir haben die folgenden zwei Panda-DataFrames:

 import pandas as pd

#createDataFrames
df1 = pd. DataFrame ({' year ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
                    ' sales ': [14, 16, 19, 22, 24, 25, 24, 24, 27, 30]})

df2 = pd. DataFrame ({' year ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
                    ' leads ': [4, 4, 4, 5, 4, 5, 7, 8, 5, 3]})

Beide DataFrames teilen die Variable „Jahr“, die zwischen 1 und 10 liegt, aber der erste DataFrame zeigt jedes Jahr den Gesamtumsatz an, während der zweite DataFrame jedes Jahr die Gesamtzahl der Leads anzeigt.

Mit dem folgenden Code können wir ein Matplotlib-Diagramm erstellen, das Verkäufe und Leads in einem Diagramm mit zwei Y-Achsen anzeigt:

 import matplotlib. pyplot as plt

#define colors to use
col1 = ' steelblue '
col2 = ' red '

#define subplots
fig,ax = plt. subplots ()

#add first line to plot
ax. plot (df1. year , df1. sales , color=col1)

#add x-axis label
ax. set_xlabel (' Year ', fontsize= 14 )

#add y-axis label
ax. set_ylabel (' Sales ', color=col1, fontsize= 16 )

#define second y-axis that shares x-axis with current plot
ax2 = ax. twinx ()

#add second line to plot
ax2. plot (df2. year , df2. leads , color=col2)

#add second y-axis label
ax2. set_ylabel (' Leads ', color=col2, fontsize= 16 )

Matplotlib mit zwei y-Achsen

Die Y-Achse auf der linken Seite des Diagramms zeigt den Gesamtumsatz pro Jahr und die Y-Achse auf der rechten Seite des Diagramms zeigt die Gesamtzahl der Leads pro Jahr.

Die blaue Linie im Diagramm stellt den Gesamtumsatz pro Jahr dar und die rote Linie stellt die Gesamtzahl der Leads pro Jahr dar.

Fühlen Sie sich frei, die Argumente marker und line width zu verwenden, um das Erscheinungsbild von Linien im Diagramm zu ändern:

 import matplotlib. pyplot as plt

#define colors to use
col1 = ' steelblue '
col2 = ' red '

#define subplots
fig,ax = plt. subplots ()

#add first line to plot
ax. plot (df1. year , df1. sales , color=col1, marker=' o ', linewidth= 3 )

#add x-axis label
ax. set_xlabel (' Year ', fontsize= 14 )

#add y-axis label
ax. set_ylabel (' Sales ', color=col1, fontsize= 16 )

#define second y-axis that shares x-axis with current plot
ax2 = ax. twinx ()

#add second line to plot
ax2. plot (df2. year , df2. leads , color=col2, marker=' o ', linewidth= 3 )

#add second y-axis label
ax2. set_ylabel (' Leads ', color=col2, fontsize= 16 ) 

Beachten Sie, dass beide Linien jetzt breiter sind und „o“-Markierungen enthalten, um einzelne Datenpunkte anzuzeigen.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere gängige Vorgänge in Matplotlib ausführen:

So passen Sie die Position der Achsenbeschriftung in Matplotlib an
So legen Sie Achsenbereiche in Matplotlib fest
So legen Sie X-Achsenwerte in Matplotlib fest

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert