スポンサーリンク
matplotlibでlabelが表示されない時には、plt.legend()を呼んでいるかを確認
よくありがちなのでここに残したいと思います。
matplotlibでlabelが表示されない時には、まずは、plt.legend()を呼んでいるかを確認すると良いかと思います。
plt.plot(x, y, label='value1')のようにlabelを設定しても、plt.legend()を呼ばないと表示されません。
下記がサンプルコードになります。
参考:リストをvalueにした辞書型データをmatplotlibでグラフ化する
$ cat sample.py #!/usr/bin/env python3 # coding: UTF-8 import matplotlib.pyplot as plt dic = {'x_val' : [3, 4, 5, 6, 7], 'y_val1' : [33, 42, 35, 76, 17], 'y_val2' : [23, 32, 15, 6, 7]} plt.figure() x = dic['x_val'] y = dic['y_val1'] plt.plot(x, y, label='value1') y = dic['y_val2'] plt.plot(x, y, label='value2') plt.legend() plt.title('sample1') plt.xlabel('month') plt.ylabel('value') plt.show()
下記が実行結果になります。
スポンサーリンク
画面分割する場合は、画面毎にplt.legend()を呼んでいるかを確認
画面分割する場合は、画面毎にplt.legend()を呼ぶ必要があります。
参考:Pythonのpandasで画面分割して複数のグラフを表示
下記がサンプルコードになります。
$ cat sample2.py #!/usr/bin/env python3 # coding: UTF-8 import matplotlib.pyplot as plt dic = {'x_val' : [3, 4, 5, 6, 7], 'y_val1' : [33, 42, 35, 76, 17], 'y_val2' : [23, 32, 15, 6, 7]} #3行 × 1列のグラフを設定 row = 2 col = 1 #1番目のグラフのプロット plt.subplot(row, col, 1) x = dic['x_val'] y = dic['y_val1'] plt.plot(x, y, label='value1') plt.legend() #2番目のグラフのプロット plt.subplot(row, col, 2) y = dic['y_val2'] plt.plot(x, y, label='value2') plt.legend() #グラフを表示 plt.show()
下記が実行結果になります。
スポンサーリンク