यदि आप अधिक पूर्ण कार्य (या इस मामले में गैर-कार्यशील) उदाहरण देते हैं, तो यह अधिक उपयोगी होगा।
मैंने निम्नलिखित कोशिश की:
import numpy as np
import matplotlib.pyplot as plt
x = np.random.randn(1000)
fig = plt.figure()
ax = fig.add_subplot(111)
n, bins, rectangles = ax.hist(x, 50, density=True)
fig.canvas.draw()
plt.show()
यह वास्तव में एक वाई-अक्ष के साथ एक बार-चार्ट हिस्टोग्राम का उत्पादन करेगा जो इससे जाता है [0,1]।
इसके अलावा, के अनुसार histप्रलेखन (यानी ax.hist?से ipython), मुझे लगता है कि योग भी ठीक है:
*normed*:
If *True*, the first element of the return tuple will
be the counts normalized to form a probability density, i.e.,
``n/(len(x)*dbin)``. In a probability density, the integral of
the histogram should be 1; you can verify that with a
trapezoidal integration of the probability density function::
pdf, bins, patches = ax.hist(...)
print np.sum(pdf * np.diff(bins))
ऊपर दिए गए आदेशों के बाद इसे आज़माएं:
np.sum(n * np.diff(bins))
मुझे 1.0उम्मीद के मुताबिक रिटर्न वैल्यू मिल रही है। याद रखें कि normed=Trueइसका मतलब यह नहीं है कि प्रत्येक बार में मूल्य का योग एकता होगा, बल्कि बार पर अभिन्न होने के बजाय एकता है। मेरे मामले में np.sum(n)लगभग लौट आए 7.2767।