summaryrefslogtreecommitdiff
path: root/numpy/lib/twodim_base.py
diff options
context:
space:
mode:
authorwrwrwr <git@wr.waw.pl>2016-10-04 23:04:58 +0200
committerwrwrwr <git@wr.waw.pl>2016-10-08 13:25:29 +0200
commit2a86f356db2cb061b08be03813b77685dd149e2a (patch)
treedec400b624201b02a97e7608d6f71dcc4eefa5ca /numpy/lib/twodim_base.py
parentbb2865a2863492a2ea1799e1ce874607e8cf6ff9 (diff)
downloadnumpy-2a86f356db2cb061b08be03813b77685dd149e2a.tar.gz
DOC: Improve histogram2d() example.
Closes #8115.
Diffstat (limited to 'numpy/lib/twodim_base.py')
-rw-r--r--numpy/lib/twodim_base.py46
1 files changed, 17 insertions, 29 deletions
diff --git a/numpy/lib/twodim_base.py b/numpy/lib/twodim_base.py
index 8858f5bad..8cf2ec091 100644
--- a/numpy/lib/twodim_base.py
+++ b/numpy/lib/twodim_base.py
@@ -599,52 +599,40 @@ def histogram2d(x, y, bins=10, range=None, normed=False, weights=None):
Construct a 2-D histogram with variable bin width. First define the bin
edges:
- >>> xedges = [0, 1, 1.5, 3, 5]
+ >>> xedges = [0, 1, 3, 5]
>>> yedges = [0, 2, 3, 4, 6]
Next we create a histogram H with random bin content:
- >>> x = np.random.normal(3, 1, 100)
+ >>> x = np.random.normal(2, 1, 100)
>>> y = np.random.normal(1, 1, 100)
- >>> H, xedges, yedges = np.histogram2d(y, x, bins=(xedges, yedges))
+ >>> H, xedges, yedges = np.histogram2d(x, y, bins=(xedges, yedges))
+ >>> H = H.T # Let each row list bins with common y range.
- Or we fill the histogram H with a determined bin content:
-
- >>> H = np.ones((4, 4)).cumsum().reshape(4, 4)
- >>> print(H[::-1]) # This shows the bin content in the order as plotted
- [[ 13. 14. 15. 16.]
- [ 9. 10. 11. 12.]
- [ 5. 6. 7. 8.]
- [ 1. 2. 3. 4.]]
-
- Imshow can only do an equidistant representation of bins:
+ :func:`imshow <matplotlib.pyplot.imshow>` can only display square bins:
>>> fig = plt.figure(figsize=(7, 3))
- >>> ax = fig.add_subplot(131)
- >>> ax.set_title('imshow: equidistant')
- >>> im = plt.imshow(H, interpolation='nearest', origin='low',
- ... extent=[xedges[0], xedges[-1], yedges[0], yedges[-1]])
+ >>> 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 can display exact bin edges:
+ :func:`pcolormesh <matplotlib.pyplot.pcolormesh>` can display actual edges:
- >>> ax = fig.add_subplot(132)
- >>> ax.set_title('pcolormesh: exact bin edges')
+ >>> ax = fig.add_subplot(132, title='pcolormesh: actual edges',
+ ... aspect='equal')
>>> X, Y = np.meshgrid(xedges, yedges)
>>> ax.pcolormesh(X, Y, H)
- >>> ax.set_aspect('equal')
- NonUniformImage displays exact bin edges with interpolation:
+ :class:`NonUniformImage <matplotlib.image.NonUniformImage>` can be used to
+ display actual bin edges with interpolation:
- >>> ax = fig.add_subplot(133)
- >>> ax.set_title('NonUniformImage: interpolated')
+ >>> 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] + 0.5 * (xedges[1:] - xedges[:-1])
- >>> ycenters = yedges[:-1] + 0.5 * (yedges[1:] - yedges[:-1])
+ >>> xcenters = (xedges[:-1] + xedges[1:]) / 2
+ >>> ycenters = (yedges[:-1] + yedges[1:]) / 2
>>> im.set_data(xcenters, ycenters, H)
>>> ax.images.append(im)
- >>> ax.set_xlim(xedges[0], xedges[-1])
- >>> ax.set_ylim(yedges[0], yedges[-1])
- >>> ax.set_aspect('equal')
>>> plt.show()
"""