0

おそらく簡単な修正を伴う簡単な質問ですが、ビニングが実際にどのように機能するかについては少し混乱しています。かなり単純なヒストグラムをプロットしたいと思います。x軸には0と1の2つの値のみが必要であり、y軸には0から1.0の間の浮動小数点数があり、これらの各値の頻度を表します。配列内の値は0と1の両方ですが、ヒストグラムを表示すると、ビンが0と1と一致していないように見え、x軸に不要な目盛りがいくつかあります。x軸(0と1)に2つの目盛りだけが表示され、これらの各値のそれぞれの頻度列が目盛りの上に正しく表示されるように、このグラフを作成するにはどうすればよいですか?

これが私のコードです:

trials = []
for i in range (m):
    trials.append(bernoulli_trial(p))
plt.figure(1)
plt.hist(trials, bins=2, align="mid", weights=np.zeros_like(trials) + 1. / len(trials))
plt.ylim(0,1.0)
plt.title("Bernoulli Distribution with p = " + str(p))
plt.xlabel("Outcome")
plt.ylabel("Probability")    
plt.show()

誰かが私がここで間違っていることについて何か洞察を提供できますか?

4

1 に答える 1

1
plt.figure(1)
plt.hist(trials, bins=2, align="mid",
         weights=np.zeros_like(trials) + 1. / len(trials))


# ------------------------------
# New lines to add tick marks as requested
tick_locs = [0.25, 0.75]
tick_lbls = ['0','1']
plt.xticks(tick_locs, tick_lbls)
# ------------------------------

plt.ylim(0,1.0)
plt.title("Bernoulli Distribution with p = " + str(p))
plt.xlabel("Outcome")
plt.ylabel("Probability")    
plt.show()
于 2012-11-09T06:42:38.720 に答える