※このページではアフィリエイト広告を利用しています

【Python応用】Matplotlibを用いた棒グラフ作成方法-まとめ-

Python

ここでは「Matplotlib」を用いた棒グラフ(Axes.bar)を作成する方法について解説しています。

スポンサーリンク
スポンサーリンク

基本的な型

Axes.bar(x, height, width=0.8, bottom=None, align='center', data=None)

Axes.barの最低限の引数はx軸のデータ、高さのデータになります。

x入力データ(配列)
height高さの指定。floatかarray-likeで指定。
width棒グラフの間隔。デフォルトでは0.8。floatかarray-likeで指定。
bottomBarの底の位置指定。デフォルトではNone。floatかarray-likeで指定。
align棒グラフの位置設定。デフォルトではcenter。centerかedgeが指定できる。

基本的な型は以上になります。他にもオプションとして色やラベルの指定が可能です。

棒グラフ作成

デフォルトの棒グラフ

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
#1---Data設定
x = np.arange(5)
y = [3,1,9,15,6]
#2---デフォルト設定
fig, ax = plt.subplots()
ax.bar(x, y)
fig.savefig("plot_bar1.png")

上記がプログラムになります。棒グラフの作成では2の部分に着目して下さい。

xがx軸、yがy軸のデータになります。

DataFrame型でのデータ設定

DataFrame型でデータをプロットしたい場合は以下のようにすることで可能です。

#2---デフォルト設定
data = {"x":x, "y":y}
fig, ax = plt.subplots()
ax.bar("x", "y", data=data)

出力結果はデフォルトと一緒なので省略します。

色の設定

単純な色変更

#2---color設定
fig, ax = plt.subplots()
ax.bar(x, y, color="g", edgecolor="black")
fig.savefig("plot_bar3.png")

棒グラフの色を緑、縁を黒に指定しています。

データごとに色を設定

#2---複数color設定
color ={"g","b","w","r","pink"}
fig, ax = plt.subplots()
ax.bar(x, y, color=color, edgecolor="black")
fig.savefig("plot_bar4.png")

データの数だけ色を指定することで変更できます。

ラベル設定

#2---label設定
label = ["v", "w", "x", "y", "z"]
fig, ax = plt.subplots()
ax.bar(x, y, tick_label=label)
fig.savefig("plot_bar5.png")

xデータの数だけラベルを定義することで設定可能です。

棒グラフの間隔設定

#2---間隔設定
fig, ax = plt.subplots()
ax.bar(x, y, width=0.2)
fig.savefig("plot_bar6.png")

複数のデータを並列表示する方法

8---並列
z = [4,2,10,16,7]
fig, ax = plt.subplots()
ax.bar(x, y,width=0.4)
ax.bar(x+0.4,z,width=0.4)
fig.savefig("plot_bar7.png")

zというデータを宣言しておき、bar()で呼び出すだけです。加えて、間隔を0.8(デフォルト)から狭めておく必要があります。ここでは、0.4にしています。

積み上げ棒グラフ

#2---積み上げ
z = [4,2,10,16,7]
fig, ax = plt.subplots()
ax.bar(x, y)
ax.bar(x,z,bottom=y)
fig.savefig("plot_bar8.png")

積み上げたいグラフをbarで呼び出して、その上でbottomで基の棒グラフを指定する必要があります。

最後に

簡単にまとめました。適宜、参照下さい。

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