英国でデータサイエンスを学ぶ

30代になってから海外で統計学・機械学習・プログラミングを勉強

MENU

pythonでmatplotlibを用いて棒グラフを作成する

pythonでmatplotlibを用いて棒グラフを作成した時の備忘メモです。

たとえば、以下のような棒グラフを作成したい時は、お馴染みのmatplotlibを用います。
f:id:detailed-balance:20180921172115p:plain


pythonでmatplotlibを用いた単純な棒グラフの作成

極めて単純な棒グラフの作成になりますが、以下のコードで実行可能です。

#matplotlib.pltモジュールをインポート
import matplotlib.pyplot as plt

#xの値、yの値を指定
x = [1,2,3]
y = [10,13,12]

#棒グラフをプロット
#colorで色を指定
#widthで棒グラフの幅を指定
#labelでプロットのラベルを指定
#alignで位置を指定
plt.bar(x, y, color='b', width=0.5, label='bar plot', align="center")
#棒グラフを表示
plt.show()

matplotlibで棒グラフの色を変更させる(color)

上記コードでは、色をcolor=bでblueに指定しましたが、blue以外にもr(red)やy(yellow)などを指定することが可能です。
具体的には

b Blue
c Cyan
g Green
k Black
m Magenta
r Red
w White
y Yellow
の8種類を1文字のアルファベットで指定することができます。
それぞれの見た目は、以下のようになっています。
f:id:detailed-balance:20180921175729j:plain

具体的なコードは以下の通りです。

import matplotlib.pyplot as plt

x = [1,2,3]
y = [10,13,12]

plt.bar(x, y, color='b', width=0.5, label='bar plot', align="center")
plt.show()

plt.bar(x, y, color='c', width=0.5, label='bar plot', align="center")
plt.show()

plt.bar(x, y, color='g', width=0.5, label='bar plot', align="center")
plt.show()

plt.bar(x, y, color='k', width=0.5, label='bar plot', align="center")
plt.show()

plt.bar(x, y, color='m', width=0.5, label='bar plot', align="center")
plt.show()

plt.bar(x, y, color='r', width=0.5, label='bar plot', align="center")
plt.show()

plt.bar(x, y, color='w', width=0.5, label='bar plot', align="center")
plt.show()

plt.bar(x, y, color='y', width=0.5, label='bar plot', align="center")
plt.show()

pythonのmatplotlibで棒グラフの幅を調整する

棒グラフの幅はwidthで調整します。
以下にwidth = 0.3, 0.5, 0.7, 1.0の場合の例を示します。

f:id:detailed-balance:20180921193431j:plain


具体的なコードは以下の通りです。

import matplotlib.pyplot as plt

x = [1,2,3]
y = [10,13,12]

plt.bar(x, y, color='b', width=0.3, label='bar plot', align="center")
plt.show()

plt.bar(x, y, color='b', width=0.5, label='bar plot', align="center")
plt.show()

plt.bar(x, y, color='b', width=0.7, label='bar plot', align="center")
plt.show()

plt.bar(x, y, color='b', width=1.0, label='bar plot', align="center")
plt.show()

X軸メモリの調整

plt.xticks(rotation = 30)
とか