2017年4月23日日曜日

Pythonのmatplotlibで作成するヒストグラムの目盛り位置を調整する

Python3のmatplotlibライブラリでヒストグラムを作成したときに、X軸の目盛りとヒストグラムの位置が合わない。

import matplotlib

# ターミナルソフトで実行するために追加
matplotlib.use("Agg")
import matplotlib.pyplot as plt

from numpy.random import *
import numpy as np

values = [randint(1,6) for i in range(50)]

# ヒストグラム作成
plt.hist(values)
plt.savefig("hoge.png")

この状態から、目盛りとヒストグラムの位置が合うようにする。参考にしたのはMatplotlib xticks not lining up with histogram。plt.histでヒストグラムを作成するときに、ビンのエッジ位置をちょうどいい位置になるように指定する。具体的には、ビンは5つあるのでエッジの位置を0.5~1.5、1.5~2.5・・・4.5~5.5というようにする。

import matplotlib

# ターミナルソフトで実行するために追加
matplotlib.use("Agg")
import matplotlib.pyplot as plt

from numpy.random import *
import numpy as np

values = [randint(1,6) for i in range(50)]

# ヒストグラム作成(ビンの位置を調整)
plt.hist(values, bins=np.arange(6)+0.5, edgecolor='w')
plt.savefig("hoge.png")

plt.histでbinsにビンエッジの位置を指定し、edgecolorでエッジの色を変更。結果は以下の通りうまくいった。

0 件のコメント:

コメントを投稿