【Python】matplotlibで棒グラフを作成(まとめ)
本記事では、Pythonの『matplotlib』というライブラリを用いて、棒グラフを作成する方法を紹介します。
棒グラフのカスタマイズや複数のデータを同時に表示する方法も詳しく解説しました。
本記事を読めば、自由自在に棒グラフを作成できるようになります!!
*Pythonでグラフをプロットしたことがない方は先に下記を読んでから本記事を読んでください。
Pythonで棒グラフを作成する準備
まずは、matplotlibで棒グラフを作成するために、以下のライブラリをインポートしてください。
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
今回、Pandasはサンプルデータを作成するために使用しました。
Pythonで棒グラフを作成する
Pythonで棒グラフを作成するためには、matplotlibのAxes.bar()
メソッドを使用します。
引数を以下にまとめておきます。
引数 | 説明 |
---|---|
width | 棒の幅 |
bottom | 棒の下端(積み上げ型の棒グラフを作成する場合に使用) |
align |
棒の横位置 : 以下の二つから選ぶ
|
color(fc) | 棒の色 |
alpha | 棒の透明度 : 0~1で指定 |
hatch | 棒の網掛け |
linewidth(lw) | 棒の縁の太さ |
edgecolor(ec) | 棒の縁の色 |
具体例を説明するために以下のデータを使用するします。
df = pd.DataFrame(data=np.random.randint(1, 10, (10, 3)), columns=['A', 'B', 'C'])
df.head()
基本的な棒グラフを作成する
まずは、基本的な棒グラフを作成してみましょう。
具体例を以下に示すので実行してみてください。
fig, ax = plt.subplots()
ax.bar(df.index, df['A'])
plt.show()
棒グラフをカスタマイズ
次に最初に説明した引数を使って棒グラフをカスタマイズした例を紹介します
fig, ax = plt.subplots()
ax.bar(df.index, df['A'], width=0.5, fc='r', lw=2.0, ec='k', alpha=0.4)
plt.show()
次に複数のデータを棒グラフを用いてプロットする方法を紹介します。
複数の棒グラフを並べて表示する方法
ここからは、複数の棒グラフを並べて表示する方法を紹介します。
複数の棒グラフを縦に並べる方法
複数の棒グラフを縦に並べるためには、width
分だけx座標が増えるようにして作成します。
具体例を以下に示します。
fig, ax = plt.subplots()
cols = df.columns
width = 0.2
for i, col in enumerate(cols):
ax.bar(df.index+width*(i-len(cols)/2), df.loc[:, col], label=col, width=width, align='edge')
ax.legend()
plt.show()
複数の棒グラフを横に並べる方法
複数の棒グラフを横に並べるには、Axes.bar()
の代わりにAxes.barh()
を使用します。
基本的には引数は同じですが、先程のwidth
をheight
に変える必要があります。
具体例を以下に示します。
fig, ax = plt.subplots()
cols = df.columns
height = 0.2
for i, col in enumerate(cols):
ax.barh(df.index+height*(i-len(cols)/2), df.loc[:, col], label=col, height=height, align='edge')
ax.legend()
plt.show()
まとめ
本記事では、pythonのmatplotlibを利用して、棒グラフを作成する方法を紹介しました
本記事で紹介したコードを少し変化させれば、かなり柔軟性の高い棒グラフを作成できると思います。
本記事が、皆さなのデータ解析・研究に役立ったら幸いです…
Pythonにより可視化方法をより詳しく知りたい方は下記を参考にしてください。
Pythonを学習するのに効率的なサービスを紹介していきます。
まず最初におすすめするのは、Udemyです。
Udemyは、Pythonに特化した授業がたくさんあり、どの授業も良質です。
また、セール中は1500円定義で利用することができ、コスパも最強です。
下記の記事では、実際に私が15個以上の講義を受講して特におすすめだった講義を紹介しています。
他のPythonに特化したオンライン・オフラインスクールも下記の記事でまとめています。
自分の学習スタイルに合わせて最適なものを選びましょう。
また、私がPythonを学ぶ際に使用した本を全て暴露しているので参考にしてください。