Heim > Artikel > Backend-Entwicklung > Wie füge ich mit twinx() Beschriftungen zur Legende in Diagrammen mit sekundären Achsen hinzu?
Hinzufügen von Beschriftungen zur Legende in Diagrammen mit sekundären Achsen mithilfe von twinx()
Mehrere Achsen in einem einzelnen Diagramm können für die Visualisierung nützlich sein Daten aus unterschiedlichen Quellen oder mit unterschiedlichen Einheiten. Wenn Sie die Funktion „twinx()“ zum Erstellen einer Sekundärachse verwenden, kann es erforderlich sein, Beschriftungen zu den auf der Sekundärachse gezeichneten Linien hinzuzufügen und diese in die Legende aufzunehmen.
Um dies zu erreichen, können Sie entweder eine hinzufügen Separate Legende für die Sekundärachse mit ax2.legend(loc=0). Dieser Ansatz führt jedoch zu zwei separaten Legenden.
Für eine zusammenhängendere Anzeige können alle Beschriftungen mit den folgenden Schritten zu einer einzigen Legende hinzugefügt werden:
<code class="python">import numpy as np import matplotlib.pyplot as plt from matplotlib import rc time = np.arange(10) temp = np.random.random(10)*30 Swdown = np.random.random(10)*100-10 Rn = np.random.random(10)*100-10 fig = plt.figure() ax = fig.add_subplot(111) lns1 = ax.plot(time, Swdown, '-', label = 'Swdown') lns2 = ax.plot(time, Rn, '-', label = 'Rn') ax2 = ax.twinx() lns3 = ax2.plot(time, temp, '-r', label = 'temp') # Add all lines and labels to a single legend lns = lns1+lns2+lns3 labs = [l.get_label() for l in lns] ax.legend(lns, labs, loc=0) ax.grid() ax.set_xlabel("Time (h)") ax.set_ylabel(r"Radiation ($MJ\,m^{-2}\,d^{-1}$)") ax2.set_ylabel(r"Temperature ($^\circ$C)") ax2.set_ylim(0, 35) ax.set_ylim(-20,100) plt.show()</code>
Dieser Code erstellt eine einzelne Legende, die alle Beschriftungen der Primär- und Sekundärachse enthält.
Das obige ist der detaillierte Inhalt vonWie füge ich mit twinx() Beschriftungen zur Legende in Diagrammen mit sekundären Achsen hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!