ホームページ >バックエンド開発 >Python チュートリアル >Twinx() を使用して副軸を持つプロットの凡例にラベルを追加するにはどうすればよいですか?
twinx() を使用して二次軸を持つプロットの凡例にラベルを追加する
単一のプロットに複数の軸があると、視覚化に役立ちます異なるソースまたは異なる単位からのデータ。 Twinx() 関数を使用して 2 番目の軸を作成する場合、2 番目の軸にプロットされた線にラベルを追加し、凡例に含める必要がある場合があります。
これを行うには、次のいずれかを追加できます。 ax2.legend(loc=0) を使用して 2 次軸の個別の凡例を作成します。ただし、この方法では 2 つの別々の凡例が作成されます。
より一貫した表示を行うには、次の手順を使用してすべてのラベルを 1 つの凡例に追加できます。
<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>
このコードは、主軸と副軸のすべてのラベルを含む単一の凡例を生成します。
以上がTwinx() を使用して副軸を持つプロットの凡例にラベルを追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。