PR

matplotlibの基本: 棒グラフの描画方法

matplotlib

本記事では、Pythonのデータ可視化ライブラリであるmatplotlibを使用して、棒グラフの描画方法に焦点を当てました。まず、基本的なプロットの手法から始め、その後、グラフの見た目をカスタマイズする方法や複数のデータセットを重ねて表示する方法について解説しました。

スポンサーリンク

matplotlibとは

プログラミング言語Pythonおよびその科学計算用ライブラリNumPyのためのグラフ描画ライブラリである。オブジェクト指向のAPIを提供しており、様々な種類のグラフを描画する能力を持つ。描画できるのは主に2次元のプロットだが、3次元プロットの機能も追加されてきている。描画したグラフを各種形式の画像(各種ベクトル画像形式も含む)として保存することもできる(Wiki参照)

matplotlib – Wikipedia
スポンサーリンク

基本のプロット

まずは、棒グラフを描くための基本的なソースコードを示します。

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [1, 8, 3, 6, 5]

plt.bar(x, y)
plt.show()

xとyの同じインデックスつまり(1,1)、(2,8)、(3,3)、(4,6)、(5,5)にプロットされています。

スポンサーリンク

見た目のカスタマイズ

棒グラフの見た目をカスタマイズすることもできます。以下のコードでは、棒自体の太さの変更と凡例を設定しています。

import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 8, 3, 6, 5]

plt.bar(x, y, label='test', width=0.4)
plt.legend()
plt.show()

Tips:主要なカスタマイズキーワード

棒グラフ作成時に使用できる引数オプションが非常に多くあります。が必要最低限テーブルにまとめた分をおさえて記載します。

kywd入力例備考
x,y[1,2,3,4,5] または 事前に定義したlistなどarray形式のもの
※必須
linewidthlinewidth=5枠線の太さ
edgecoloredgecolor=”r”枠線の色
色名や16進数、RGBでの指定が可能
colorcolor=”red” または
color=”#FFFF00″ または
color=(1.0,0,1.0)
棒の色
色名や16進数、RGBでの指定が可能
widthwidth=”s”棒の太さ
xerrxerr=0.5X方向エラーバーの範囲
yerryerr=0.5Y方向エラーバーの範囲
bottombottom=積み上げるデータ積み上げ用データ
labellabel=”label1″凡例名

色見本

color example code: named_colors.py — Matplotlib 2.0.2 documentation

スポンサーリンク

見た目のカスタマイズ(目盛り線)

以下のコードでは、グリッド線を細かく指定しています。

import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 8, 3, 6, 5]

plt.bar(x,y,label='test',width=0.4)
plt.legend()
plt.grid(True) #目盛り線
plt.title("TEST GRAPH") #グラフタイトル
plt.xlabel("X-label") #X軸ラベル
plt.ylabel("Y-label") #Y軸ラベル
plt.show()
スポンサーリンク

複数のデータセットを重ねて描画

複数のデータセットを一つのグラフに重ねて表示することも可能です。また、複数のグラフを上下に並べた配置することも可能です。以下のコードでは、二つのデータセットを折れ線グラフと散布図と棒グラフとして描画しています。

import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 8, 3, 6, 5]
y2 = [8, 2, 4, 3, 7]

plt.subplot(2,1,1)
plt.bar(x,y,label='test',width=0.4,align="center")
plt.bar(x,y2,label='test2',bottom=y,width=0.4,color="green")
plt.plot(x,y,label='test3')
plt.title("TEST GRAPH") #グラフタイトル
plt.xlabel("X-label") #X軸ラベル
plt.ylabel("Y-label") #Y軸ラベル
plt.legend()

plt.subplot(2,1,2)
plt.scatter(x,y,label='test4',s=30)
plt.grid(True) #目盛線
plt.title("TEST GRAPH2") #グラフタイトル
plt.xlabel("X-label2") #X軸ラベル
plt.ylabel("Y-label2") #Y軸ラベル
plt.legend()

plt.tight_layout()
plt.show()

なお、折れ線グラフと散布図についてはそれぞれこちらの記事を参考にしてください。

スポンサーリンク

まとめ

matplotlibを使用して棒グラフを描く方法をまとめます。

  • matplotlibはPythonのグラフ描画ライブラリであり、データの可視化に利用される。
  • 棒グラフを描く際には、bar()関数を使用する。
  • プロットの見た目を変更するには、labelやwidthなどの引数を調整する。
  • グラフ全体の見た目を変更するには、grid()やtitle()、xlabel()、ylabel()などの関数を使用する。

以上がmatplotlibを使用して棒グラフを描く方法についての解説です。

コメント

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