4

オプション histt​​ype='stepfilled' と log=True の両方が使用されている場合、matplotlib でヒストグラムを表示する際に問題があります。matplotlib バージョン 1.1.0 でこの問題が発生し、バージョン 1.2.0 にもまだ存在することがわかりました。

残念ながら、画像を投稿する権利はありませんが、次の簡単なコードでこの動作を確認できます。

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

mu, sigma = 200, 25
x = mu + sigma*np.random.randn(10000)
n, bins, patches = plt.hist(x, 50, normed=1, histtype='bar',log=True)
plt.savefig("test1.png")
plt.clf()
n, bins, patches = plt.hist(x, 50, normed=1, histtype='stepfilled',log=True)
plt.savefig("test2.png")

最初の図は正しく表示されていますが、2 番目のケースでは、'bar' の代わりにオプション histt​​ype='stepfilled' を使用しています。誰かが手がかりを持っていますか?

4

2 に答える 2

1

これは、matplotlib の未解決のバグです。stepfilled最初のグラフィックでバーのスタイルの操作をシミュレートできるかもしれません。

github の問題:

于 2012-11-28T14:26:47.337 に答える
1

使用する場合

plt.hist(x, 50, normed=1, histtype='stepfilled')
plt.semilogy()

期待される結果が得られますが、値がゼロのビンでは奇妙に見えるという注意事項があります。

于 2012-12-03T21:51:45.887 に答える