NumPy 1.14 - numpy.histogram2d()

numpy.histogram2d




numpy

numpy.histogram2d

numpy.histogram2d(x, y, bins=10, range=None, normed=False, weights=None) [source]

दो डेटा नमूनों के द्वि-आयामी हिस्टोग्राम की गणना करें।

पैरामीटर:

x : array_like, shape (N,)

एक सारणी जिसमें बिंदुओं के x निर्देशांक हैं, को हिस्टोग्राम किया जाएगा।

y : array_like, आकार (N,)

एक सरणी जिसमें y का अंक निर्देशांक है हिस्टोग्राम किया गया है।

डिब्बे : int या array_like या [int, int] या [array, array], वैकल्पिक

बिन विनिर्देश:

  • यदि int, दो आयामों के लिए डिब्बे की संख्या (nx = ny = bins) है।
  • यदि array_like, दो आयामों के लिए बिन किनारों (x_edges = y_edges = bins)।
  • यदि [int, int], प्रत्येक आयाम में डिब्बे की संख्या (nx, ny = bins)।
  • यदि [सरणी, सरणी], प्रत्येक आयाम में बिन किनारे (x_edges, y_edges = डिब्बे)।
  • एक संयोजन [int, array] या [array, int], जहां int डिब्बे की संख्या है और array बिन किनारे है।

रेंज : array_like, shape (2,2), वैकल्पिक

प्रत्येक आयाम के साथ डिब्बे के बाएं और सबसे दाहिने किनारों (यदि bins मापदंडों में स्पष्ट रूप से निर्दिष्ट नहीं हैं): [[xmin, xmax], [ymin, ymax]] । इस श्रेणी के बाहर के सभी मानों को आउटलेर माना जाएगा और हिस्टोग्राम में लंबा नहीं किया जाएगा।

आदर्श : बूल, वैकल्पिक

यदि गलत है, तो प्रत्येक बिन में नमूनों की संख्या लौटाता है। यदि सही है, बिन घनत्व bin_count / sample_count / bin_area

वजन : array_like, आकार (N,), वैकल्पिक

प्रत्येक नमूने (x_i, y_i) वजन करने वाले मानों की एक सरणी। normed सत्य होने पर वज़न 1 से normed जाता है। यदि normed गलत है, तो दिए गए हिस्टोग्राम के मूल्य प्रत्येक बिन में गिरने वाले नमूनों से संबंधित भार के योग के बराबर हैं।

यह दिखाता है:

एच : ndarray, आकार (nx, ny)

नमूने x और y द्वि-आयामी हिस्टोग्राम। x में मानों को पहले आयाम के साथ हिस्टोग्राम किया जाता है और दूसरे आयाम में y में मूल्यों को हिस्टोग्राम किया जाता है।

xedges : ndarray , आकार (nx + 1,)

पहले आयाम के साथ बिन किनारों।

yedges : ndarray , आकार (ny + 1,)

दूसरे आयाम के साथ बिन किनारे।

यह भी देखें

histogram
1 डी हिस्टोग्राम
histogramdd
बहुआयामी हिस्टोग्राम

टिप्पणियाँ

जब normed सही होता है, तो लौटा हुआ हिस्टोग्राम नमूना घनत्व होता है, जिसे इस तरह परिभाषित किया जाता है कि उत्पाद के डिब्बे के ऊपर योग bin_value * bin_area 1 है।

कृपया ध्यान दें कि हिस्टोग्राम कार्टेशियन कन्वेंशन का पालन नहीं करता है जहां x मान अनुपस्थित हैं और अध्यादेश अक्ष पर y मान हैं। बल्कि, x को एरे (ऊर्ध्वाधर) के पहले आयाम के साथ हिस्टोग्राम किया गया है, और y के दूसरे आयाम (क्षैतिज) के साथ। यह histogramdd के साथ संगतता सुनिश्चित करता है।

उदाहरण

>>> import matplotlib as mpl
>>> import matplotlib.pyplot as plt

चर बिन चौड़ाई के साथ 2-डी हिस्टोग्राम का निर्माण करें। पहले बिन किनारों को परिभाषित करें:

>>> xedges = [0, 1, 3, 5]
>>> yedges = [0, 2, 3, 4, 6]

अगला हम यादृच्छिक बिन सामग्री के साथ एक हिस्टोग्राम एच बनाते हैं:

>>> x = np.random.normal(2, 1, 100)
>>> y = np.random.normal(1, 1, 100)
>>> H, xedges, yedges = np.histogram2d(x, y, bins=(xedges, yedges))
>>> H = H.T  # Let each row list bins with common y range.

imshow केवल वर्ग डिब्बे प्रदर्शित कर सकता है:

>>> fig = plt.figure(figsize=(7, 3))
>>> ax = fig.add_subplot(131, title='imshow: square bins')
>>> plt.imshow(H, interpolation='nearest', origin='low',
...         extent=[xedges[0], xedges[-1], yedges[0], yedges[-1]])

pcolormesh वास्तविक किनारों को प्रदर्शित कर सकता है:

>>> ax = fig.add_subplot(132, title='pcolormesh: actual edges',
...         aspect='equal')
>>> X, Y = np.meshgrid(xedges, yedges)
>>> ax.pcolormesh(X, Y, H)

NonUniformImage का उपयोग प्रक्षेप के साथ वास्तविक बिन किनारों को प्रदर्शित करने के लिए किया जा सकता है:

>>> ax = fig.add_subplot(133, title='NonUniformImage: interpolated',
...         aspect='equal', xlim=xedges[[0, -1]], ylim=yedges[[0, -1]])
>>> im = mpl.image.NonUniformImage(ax, interpolation='bilinear')
>>> xcenters = (xedges[:-1] + xedges[1:]) / 2
>>> ycenters = (yedges[:-1] + yedges[1:]) / 2
>>> im.set_data(xcenters, ycenters, H)
>>> ax.images.append(im)
>>> plt.show()
../../_images/numpy-histogram2d-1.png