Title: Histogram range appears to be calculated incorrectly when using "bins='auto'" with 2D data · Issue #8778 · matplotlib/matplotlib · GitHub
Open Graph Title: Histogram range appears to be calculated incorrectly when using "bins='auto'" with 2D data · Issue #8778 · matplotlib/matplotlib
X Title: Histogram range appears to be calculated incorrectly when using "bins='auto'" with 2D data · Issue #8778 · matplotlib/matplotlib
Description: Bug report Bug summary Using 'auto' to compute the number of bins with 2D data only uses the first column to compute the range. This causes all other columns to be incorrectly displayed. Calculating histograms using bins='auto' with nump...
Open Graph Description: Bug report Bug summary Using 'auto' to compute the number of bins with 2D data only uses the first column to compute the range. This causes all other columns to be incorrectly displayed. Calculatin...
X Description: Bug report Bug summary Using 'auto' to compute the number of bins with 2D data only uses the first column to compute the range. This causes all other columns to be incorrectly displayed. Ca...
Opengraph URL: https://github.com/matplotlib/matplotlib/issues/8778
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Histogram range appears to be calculated incorrectly when using \"bins='auto'\" with 2D data","articleBody":"\u003c!--To help us understand and resolve your issue, please fill out the form to the best of your ability.--\u003e\r\n\u003c!--You can feel free to delete the sections that do not apply.--\u003e\r\n\r\n### Bug report\r\n\r\n**Bug summary**\r\n\r\n\u003c!--A short 1-2 sentences that succinctly describes the bug--\u003e\r\nUsing 'auto' to compute the number of bins with 2D data only uses the first column to compute the range. This causes all other columns to be incorrectly displayed. \r\n\r\n Calculating histograms using bins='auto' with numpy gives the correct behavior.\r\n**Code for reproduction**\r\n\r\n\u003c!--A minimum code snippet required to reproduce the bug, also minimizing the number of dependencies required--\u003e\r\n\r\n```python\r\nfrom pylab import *\r\n\r\n# four values to examine\r\nx = randn(1000, 4)*0.1 + arange(4)/7\r\n\r\nfigure()\r\nax1 = subplot(211)\r\nplt.hist(x, histtype='step')\r\nlegend(['1', '2', '3', '4'])\r\nax2 = subplot(212)\r\nplt.hist(x, bins='auto', histtype='step')\r\nlegend(['1', '2', '3', '4'])\r\n\r\n# Match axes so it's clear where the problem is\r\nax2.set_xlim(ax1.get_xlim())\r\nplt.show()\r\n\r\n# Check that numpy doesn't have this bug\r\n_, bins_default = np.histogram(x)\r\n_, bins_auto = np.histogram(x, bins='auto')\r\nassert(np.min(bins_default) == np.min(bins_auto))\r\nassert(np.max(bins_default) == np.max(bins_auto))\r\n\r\n```\r\n\r\n**Actual outcome**\r\nThe range of the histogram corresponds to the range of the last column of data for all columns, see second subplot.\r\n\u003c!--The output produced by the above code, which may be a screenshot, console output, etc.--\u003e\r\n\r\n**Expected outcome**\r\nThe range of the histogram should correspond to the min/max of all data, as it is in the first subplot of the example code.\r\n\u003c!--A description of the expected outcome from the code snippet--\u003e\r\n\u003c!--If this used to work in an earlier version of Matplotlib, please note the version it used to work on--\u003e\r\n\r\n**Matplotlib version**\r\n\u003c!--Please specify your platform and versions of the relevant libraries you are using:--\u003e\r\n * Operating System: Ubuntu \r\n * Matplotlib Version: 2.0.0\r\n * Python Version: 3.5.2\r\n\r\n\u003c!--Please tell us how you installed matplotlib and python e.g., from source, pip, conda--\u003e\r\n\u003c!--If you installed from conda, please specify which channel you used if not the default--\u003e\r\n\r\n","author":{"url":"https://github.com/seth-a","@type":"Person","name":"seth-a"},"datePublished":"2017-06-19T14:52:03.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":4},"url":"https://github.com/8778/matplotlib/issues/8778"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:145f6d2b-ca5c-3bf1-72a7-287f45a83b5a |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | B562:108FC:2A6130F:391A7FE:6A53ACE6 |
| html-safe-nonce | 0400bc9dda600ea27db7e56b2fddbb2c10141cba66d5becaa3e2110d5a955c24 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCNTYyOjEwOEZDOjJBNjEzMEY6MzkxQTdGRTo2QTUzQUNFNiIsInZpc2l0b3JfaWQiOiI5MDUwMDU2MDU5NDA3MDE5MjM5IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 4978c7e9b058b181e7924eb2ca6e3dc1a3fe76e563bd4f0b9f6e03d8cd1999a3 |
| hovercard-subject-tag | issue:236917593 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/matplotlib/matplotlib/8778/issue_layout |
| twitter:image | https://opengraph.githubassets.com/420564cb52a7b74a5c8ccf597b9a156d8d27e64d1b18977de355d7674b5c3b8f/matplotlib/matplotlib/issues/8778 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/420564cb52a7b74a5c8ccf597b9a156d8d27e64d1b18977de355d7674b5c3b8f/matplotlib/matplotlib/issues/8778 |
| og:image:alt | Bug report Bug summary Using 'auto' to compute the number of bins with 2D data only uses the first column to compute the range. This causes all other columns to be incorrectly displayed. Calculatin... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | seth-a |
| hostname | github.com |
| expected-hostname | github.com |
| None | b9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb |
| turbo-cache-control | no-preview |
| go-import | github.com/matplotlib/matplotlib git https://github.com/matplotlib/matplotlib.git |
| octolytics-dimension-user_id | 215947 |
| octolytics-dimension-user_login | matplotlib |
| octolytics-dimension-repository_id | 1385122 |
| octolytics-dimension-repository_nwo | matplotlib/matplotlib |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1385122 |
| octolytics-dimension-repository_network_root_nwo | matplotlib/matplotlib |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 07a982c1d40157c619b364352b704c3ce66bb332 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width