matplotlib で 棒グラフ を表示したいです。
plt.bar を使うことで 棒グラフ を表示できる。
引数についても解説しよう。
✔️ 本記事のテーマ
matplotlib で 棒グラフ を表示する方法
✔️ 読者さんへの前置きメッセージ
本記事は
「棒グラフを表示する方法 や 引数について」
について書いています。
Python では matplotlib ライブラリを使うことで、
簡単に棒グラフを表示することができます。
この記事ではさらに深掘りして、
引数に渡す値を変更して、様々な棒グラフを表示する方法について解説します。
なお、棒グラフ以外のグラフの表示については
「matplotlib で散布図を表示する方法(サンプルコード)」
の記事でも解説しています。
この記事に掲載しているサンプルコードは環境さえ整っていれば、
コピペで動くはずなので使用して頂いてOKです。
では、解説していきましょう。
- matplotlib で 棒グラフ を表示するための前準備
- matplotlib で 棒グラフ を出力する
- matplotlib で表示する棒グラフの「幅」を調整する
- matplotlib で表示する棒グラフの「色」を調整する
- matplotlib で表示する棒グラフの「枠線」を調整する
- matplotlib で表示する棒グラフの「X軸目盛の位置」を左寄せにする
- matplotlib で表示する棒グラフの「横軸に文字列のラベル」を設定する
- matplotlib で表示する棒グラフに「タイトル / X軸 / Y軸のラベル」を設定する
- matplotlib で表示する棒グラフを積み上げ棒グラフに変更する
- matplotlib で表示する棒グラフの「エラーバー(誤差範囲)」を設定する
- matplotlib のスキルをつけるための1冊
- エンジニアとしての自身の価値をチェックする(完全無料)
matplotlib で 棒グラフ を表示するための前準備
まず、Python で matplotlib を使うために pip でインストールします。
以下のコマンドでインストールできます。
pip install matplotlib
また、描画するデータを作成するために使用するので、 Numpy もインストールします。
pip install numpy
matplotlib で 棒グラフ を出力する
以下のコードで簡単な棒グラフを表示することができます。
import numpy as np
import matplotlib.pyplot as plt
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
plt.bar(left, height)
plt.show()
サンプルコードを順番に解説していきましょう。
ライブラリのインポート
まずは、コード中に使用するライブラリをインポートします。
import numpy as np
import matplotlib.pyplot as plt
データを用意する
棒グラフに描画するデータを用意します。
棒グラフにはデータとラベルが必要なので、各データを Numpy で生成します
# データを生成
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
棒グラフを描画
plt.bar() で棒グラフを描画します。
引数には生成したデータ(x軸上のラベル、各棒の高さ)を渡します。
# 棒グラフを描画
plt.bar(left, height)
棒グラフを表示
最後に、ここまで作成してきた棒グラフを表示します。
plt.show() で棒グラフを表示します。
# 棒グラフを表示
plt.show()
matplotlib で表示する棒グラフの「幅」を調整する
matplotlib では描画する棒グラフの「幅」を調整することができます。
棒グラフの幅を調整するには plt.bar の引数 width に数値を指定します。
倍率で指定します。(デフォルトは 0.8)
plt.bar(left, height, width=1.0)
以下のサンプルコードで「幅を変えた」棒グラフを表示することができます。
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
plt.bar(left, height, width=1.0)
plt.show()
matplotlib で表示する棒グラフの「色」を調整する
matplotlib では描画する棒グラフの「色」を調整することができます。
棒グラフの色を調整するには plt.bar の引数 color に色を指定します。
カラーコードで指定します。
plt.bar(left, height, color='#B8D200')
以下のサンプルコードで「色を変えた」棒グラフを表示することができます。
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
plt.bar(left, height, color='#B8D200')
plt.show()
matplotlib で表示する棒グラフの「枠線」を調整する
matplotlib では描画する棒グラフの「枠線」を調整することができます。
棒グラフの枠線を調整するには plt.bar の
- 引数 edgecolor に色
- 引数 linewidth に線の太さ(0で非表示)
を指定します。
plt.bar(left, height, edgecolor='#FFA500', linewidth=4)
以下のサンプルコードで「枠線を調整した」棒グラフを表示することができます。
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
plt.bar(left, height, edgecolor='#FFA500', linewidth=4)
plt.show()
matplotlib で表示する棒グラフの「X軸目盛の位置」を左寄せにする
matplotlib では描画する棒グラフの「X軸目盛の位置」を左寄せにすることができます。
棒グラフの「X軸目盛の位置」を左寄せにするには plt.bar の引数 align に ‘edge’ を指定します。
plt.bar(left, height, align='edge')
以下のサンプルコードで「X軸目盛の位置を左寄せにした」棒グラフを表示することができます。
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
plt.bar(left, height, align='edge')
plt.show()
matplotlib で表示する棒グラフの「横軸に文字列のラベル」を設定する
matplotlib では描画する棒グラフの「横軸に文字列のラベル」を設定することができます。
「横軸に文字列のラベル」を設定するには plt.bar の引数 tick_label に 文字列 list を指定します。
label = ['one', 'two', 'three', 'four', 'five']
plt.bar(left, height, tick_label=label)
以下のサンプルコードで「横軸に文字列のラベルを設定した」棒グラフを表示することができます。
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
label = ['one', 'two', 'three', 'four', 'five']
plt.bar(left, height, tick_label=label)
plt.show()
matplotlib で表示する棒グラフに「タイトル / X軸 / Y軸のラベル」を設定する
matplotlib では描画する棒グラフに「タイトル / X軸 / Y軸のラベル」を設定することができます。
棒グラフの「タイトル / X軸 / Y軸のラベル」を設定するには
- plt.title()
- plt.xlabel()
- plt.ylabel()
の引数に 文字列 を指定します。
plt.bar(left, height)
plt.title('title')
plt.xlabel('X label')
plt.ylabel('Y label')
以下のサンプルコードで
「タイトル / X軸 / Y軸のラベルを設定した」棒グラフを表示することができます。
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
plt.bar(left, height)
plt.title('title')
plt.xlabel('X label')
plt.ylabel('Y label')
plt.show()
なお、これらのラベルに日本語を設定することもできますが、
matplotlib はデフォルトでは日本語を表示することができません。
matplotlib で日本語を表示するための方法は
「matplotlib で日本語を表示する方法」
の記事で解説しているので、良ければ参考にしてみて下さい。
matplotlib で表示する棒グラフを積み上げ棒グラフに変更する
matplotlib では描画する棒グラフを積み上げ棒グラフに変更することができます。
棒グラフ積み上げ棒グラフに変更するには引数 bottom を使って、グラフを作成します。
height = np.array([100, 200, 300, 400, 500])
height_another = np.array([900, 800, 700, 600, 500])
plt.bar(left, height, color='blue')
plt.bar(left, height_another, bottom=height, color='red')
以下のサンプルコードで積み上げ棒グラフを表示することができます。
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
height_another = np.array([900, 800, 700, 600, 500])
plt.bar(left, height, color='blue')
plt.bar(left, height_another, bottom=height, color='red')
plt.show()
matplotlib で表示する棒グラフの「エラーバー(誤差範囲)」を設定する
matplotlib では描画する棒グラフの「エラーバー(誤差範囲)」を設定することができます。
棒グラフの「エラーバー(誤差範囲)」を設定するには plt.bar の以下の引数を使用します。
- xerr: X軸方向のエラーバー
- yerr: Y軸方向のエラーバー
- ecolor: エラーバーの表示色
- capsize: エラーバーの傘のサイズ
xerr: X軸方向のエラーバー
引数 xerr で「X軸方向のエラーバー」を設定することができます。
plt.bar(left, height, xerr=0.1)
以下のサンプルコードで「X軸方向のエラーバーを設定した」棒グラフを表示することができます。
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
plt.bar(left, height, xerr=0.6
plt.show()
yerr: Y軸方向のエラーバー
引数 yerr で「Y軸方向のエラーバー」を設定することができます。
plt.bar(left, height, yerr=20)
以下のサンプルコードで「Y軸方向のエラーバーを設定した」棒グラフを表示することができます。
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
plt.bar(left, height, yerr=20)
plt.show()
ecolor: エラーバーの色
引数 ecolor で「エラーバーの色」を設定することができます。
plt.bar(left, height, xerr=0.6, ecolor='red')
以下のサンプルコードで「エラーバーの色を設定した」棒グラフを表示することができます。
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
plt.bar(left, height, xerr=0.6, ecolor='red')
plt.show()
capsize: エラーバーの傘のサイズ
引数 capsize で「エラーバーの傘のサイズ」を設定することができます。
plt.bar(left, height, yerr=20, capsize=10)
以下のサンプルコードで「エラーバーの傘を設定した」棒グラフを表示することができます。
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
plt.bar(left, height, yerr=20, capsize=10)
plt.show()
matplotlib のスキルをつけるための1冊
今回は matplotlib で「棒グラフを表示する関数とその引数」方法について解説しました。
matplotlib はデータ分析などでも使用される便利なライブラリです。
もし、matplotlib について独学でスキルをつけるなら、以下の書籍がオススメです。
この書籍は matplotlib ライブラリについて理解するところから、
実際にグラフを表示するところまでを解説しています。
実践的なステップを踏まえて matplotlib について解説しているので、
書籍をマスターすることで様々な美しいグラフをプログラムで描画することができます。
エンジニアとしての自身の価値をチェックする(完全無料)
エンジニアとして、
自分の価値がどれくらいのものかご存知でしょうか?
エンジニアとしてIT業界に身を置いていると
今の会社でずっと働くのか、フリーランスとして独立するのか …
と様々な選択肢があります。
どの選択肢が正解なのかを見極めるためにも、選択肢を広げるためにも
自身の価値を知っておくことはとても重要です。
TechClips ME では、
職務経歴書をアップロードするだけで企業からのスカウトを受けることができます。
▼▼▼▼▼
▲▲▲▲▲
しかもTechClips MEでは想定年収を企業から提示してくれるので、
自身の価値を数字で分かりやすくたしかめることができます。
登録はもちろん完全無料なので、一度登録してみると良いかもしれません。
コメント