「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > TwinX を使用して凡例に主軸と副軸の両方のラベルを追加するにはどうすればよいですか?

TwinX を使用して凡例に主軸と副軸の両方のラベルを追加するにはどうすればよいですか?

2024 年 11 月 8 日に公開
ブラウズ:480

How to Add Labels for Both Primary and Secondary Axes in a Legend with TwinX?

TwinX の二次軸による凡例表示

twinx() を使用して複数の y 軸を持つプロットで、各行にラベルを追加し、これらを凡例に表示することは課題となる可能性があります。通常、凡例には主軸のラベルのみが表示されます。

2 つの主軸線と 1 つの副軸線のラベルが定義されている次の例を考えてみましょう。

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(time, Swdown, '-', label = 'Swdown')
ax.plot(time, Rn, '-', label = 'Rn')
ax2 = ax.twinx()
ax2.plot(time, temp, '-r', label = 'temp')
ax.legend(loc=0)

この場合、凡例にはラベル「Swdown」と「Rn」のみが表示されます。セカンダリ軸にラベル「temp」を含めるには、次の 2 つの方法を使用できます。

個別の凡例

1 つのオプションは、セカンダリ軸専用の 2 番目の凡例を作成することです。軸。これは、次の行を追加することで実現できます:

ax2.legend(loc=0)

これにより、軸ごとに 1 つずつ、2 つの個別の凡例が作成されます。

結合された凡例

単一の結合された凡例の場合は、次の手順を実行します。

  1. (両方の軸からの) すべての線のリストを作成します。凡例に表示したい場合:
lns = lns1 lns2 lns3
  1. 各行からラベルを抽出します:
labs = [l.get_label() for l in lns]
  1. 主軸 (ax) で legend() 関数を使用し、結合されたライン リストとラベル リストを渡します:
ax.legend(lns, labs, loc=0)

これらの手順に従うと、すべての行ラベルを 1 つの凡例に効果的に表示できます。主軸または副軸。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3