PR

pythonのグラフを描くmatplotlibでラベル表示がうまくいかない??

python-matplotlib-label-eyecatch

今回はpythonでグラフと言えば??

でおなじみのmatplotlibに関する記事です。

matplotlibはグラフが手軽に書けるので、

データを扱う人にとってはとても有用ですよね。

しかも扱い方もシンプルですし、何より、

いろんな方が情報を出してくれていますから、

困ったときに調べればすぐに答えが見つかるのもいいところです。

それでは、今回の内容ですが、

matplotlibで、ラベルがうまく表示されない….

とお困りのあなたに贈る対策方法です。

この記事を読むことでわかること

自己紹介

東証一部上場企業でサラリーマンしてます。

主に工場(生産現場)で使用する検査装置のアプリケーション開発してます。

ヒトの作業を自動化して簡略化するアプリケーションを日々開発中。

2022年5月に転職。現役バリバリの技術者です。
現在は超大手企業の新規事業分野で装置の研究・開発をしています。

Youtubeチャンネルにさまざまな動画を上げています

↓↓↓こちらからYoutubeチャンネルにアクセス!! ↓↓↓

↓↓↓↓これまでのPythonの記事についてはこちら↓↓↓↓

matplotlibを使ったほかの記事はこちら↓↓

ぜひぜひご覧ください。

それでは早速いってみましょう。

まずはmatplotlibでグラフを描いてみる

まずはラベルも何も、グラフを描いてみることからスタートです。

1000個のランダムな値を積み上げてグラフを描いてみましょう。

こちらのソースコードを張り付けて実行してもらえれば、matplotlibによって

グラフが表示されます。

import matplotlib as mpl
import numpy as np
import matplotlib.pyplot as plt

numpy_data_x=np.arange(1000)
numpy_random_data_y=np.random.randn(1000).cumsum()

plt.figure(figsize=(20,6))

plt.plot(numpy_data_x,numpy_random_data_y,label='Label1')
plt.show()

ここのソースコードについては

詳しく解説することはありませんが、

このようにグラフが表示されていればとりあえずOKです。

matplot-random-cumsum
matplotlibで描画したグラフ

さて、

ソースコードに戻りますが、きちんとラベル名を指定していたのに

気づきましたか??

こちらの一行です。

plt.plot(numpy_data_x,numpy_random_data_y,label='Label1')

label=

として、Label1という名前でプロットするように指定しています。

ただ、表示された画像には、Label1なんてどこにもないですよね….

matplotlibでLabelが表示されないときの対策法

それでは具体的にmatplotLibでLabelを表示させるために、

何が必要なのか解説します。

実は元のソースコードに1行追加するだけで表示されるようになります。

それが、この1文です。

plt.legend()

これを、plot関数の直後に入れると、

あらかじめ指定していたLabel1が表示されるようになります。

全文はこんな感じですね。

import matplotlib as mpl
import numpy as np
import matplotlib.pyplot as plt

numpy_data_x=np.arange(1000)
numpy_random_data_y=np.random.randn(1000).cumsum()

plt.figure(figsize=(20,6))

plt.plot(numpy_data_x,numpy_random_data_y,label='Label1')
plt.legend()
plt.show()

それでは実行してみましょう。

matplot-random-cumsum-label1
matplotlibで描いたグラフにラベル名がしっかり入った。

グラフの右上をご覧ください。

しっかりとLabel1と表示されるようになりましたね。

もちろん、label=’Label1′

のLabel1を変更すれば、その通り右上に表示されます。

今回のまとめ

label名をしっかりと指定しているはずなのに、

グラフにlabelの名前が表示されないな….

なんて思っている時は、

.legend()が記述されているか確認してみましょう。

これがないと、どんなに指定しても表示されることはありません。

自分も忘れそうだったので自分の備忘録てきな要素もあったのですがね…

コメント

タイトルとURLをコピーしました