Title: Bar width expands between subsequent bars · Issue #15351 · matplotlib/matplotlib · GitHub
Open Graph Title: Bar width expands between subsequent bars · Issue #15351 · matplotlib/matplotlib
X Title: Bar width expands between subsequent bars · Issue #15351 · matplotlib/matplotlib
Description: Bug report Bug summary In an non-obvious fashion, sometimes bars get wrong width. Specifically, each subsequent bar expands in width versus the prior one. However, it does this for some datasets but not for others, with no pattern obviou...
Open Graph Description: Bug report Bug summary In an non-obvious fashion, sometimes bars get wrong width. Specifically, each subsequent bar expands in width versus the prior one. However, it does this for some datasets bu...
X Description: Bug report Bug summary In an non-obvious fashion, sometimes bars get wrong width. Specifically, each subsequent bar expands in width versus the prior one. However, it does this for some datasets bu...
Opengraph URL: https://github.com/matplotlib/matplotlib/issues/15351
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Bar width expands between subsequent bars","articleBody":"### Bug report\r\n\r\n**Bug summary**\r\n\r\nIn an non-obvious fashion, sometimes bars get wrong width. Specifically, each subsequent bar expands in width versus the prior one. However, it does this for *some* datasets but not for others, with no pattern obvious to me.\r\n\r\n**Code for reproduction**\r\n\r\nSimplified from my actual code, but this demonstrates problem.\r\n\r\n```python\r\nprint(\"Matplotlib version:\", mpl.__version__)\r\nprint(\"\\nWomen:\\n\", women)\r\nprint(\"\\nMen:\\n\", men)\r\n\r\nattr = 'weight'\r\nfig, ax1 = plt.subplots()\r\nax2 = ax1.twinx() \r\nwidth = 9\r\nax2.bar(women[attr], women.total, width=0.75*width, alpha=0.15, label=\"Log Sales (W)\")\r\nax2.bar(men[attr], men.total, width=width, alpha=0.15, label=\"Log Sales (M)\")\r\nax2.grid(False)\r\nax2.set_yscale('log')\r\n```\r\n\r\nThe datasets are these:\r\n\r\n```\r\nWomen:\r\n weight return_rate total\r\n0 90 0.163740 5240\r\n1 100 0.193345 197812\r\n2 110 0.180067 317877\r\n3 120 0.169454 1048820\r\n4 130 0.163293 760693\r\n5 140 0.157449 1294401\r\n6 150 0.154873 604145\r\n7 160 0.149343 800071\r\n8 170 0.147225 319150\r\n9 180 0.146417 465691\r\n10 190 0.146796 165134\r\n11 200 0.150957 195493\r\n\r\nMen:\r\n weight return_rate total\r\n12 90 0.135135 37\r\n13 100 0.120954 3522\r\n14 110 0.117764 6547\r\n15 120 0.128846 41833\r\n16 130 0.103845 38750\r\n17 140 0.110603 134761\r\n18 150 0.107671 93628\r\n19 160 0.111633 215824\r\n20 170 0.112077 109800\r\n21 180 0.102720 231551\r\n22 190 0.104230 89821\r\n23 200 0.098818 132213\r\n```\r\n\r\n**Actual outcome**\r\n\r\nUnder Matplotlib 3.1.1 I get this distorted effect:\r\n\r\n\r\n\r\nIt appears that each subsequent bar is Nx wider. I.e. first bar is fine, next is 2x width, next is 3x width, etc.\r\n\r\nEven stranger, the distortion applies only to the \"Men\" bars. This is true if I change the order they are rendered in, and also is true if I comment out one or the other set of bars. I.e. women are fine, whether displayed solely or in combo; men are broken whether or not the women bars are displayed.\r\n\r\n**Expected outcome**\r\n\r\nUnder Matplotlib 3.0.3, the output looks as desired. Specifically, the two sets of bars overlay each other with one narrower to aid reading both sets.\r\n\r\n\r\n\r\n\r\n\r\n**Matplotlib version**\r\n * Operating system: Linux popbmi 5.0.0-28-generic #30-Ubuntu SMP Wed Sep 4 11:47:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux\r\n * Matplotlib version: 3.1.1\r\n * Matplotlib backend (`print(matplotlib.get_backend())`): module://ipykernel.pylab.backend_inline\r\n * Python version: '3.7.3 | packaged by conda-forge | (default, Jul 1 2019, 21:52:21) \\n[GCC 7.3.0]'\r\n * Jupyter version (if applicable): 1.0.0\r\n * Other libraries: \r\n\r\nConda installs. \r\n\r\n","author":{"url":"https://github.com/DavidMertz","@type":"Person","name":"DavidMertz"},"datePublished":"2019-09-30T15:51:19.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":2},"url":"https://github.com/15351/matplotlib/issues/15351"}
| 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:ebe8c426-285a-2291-db27-1344f631a57d |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | E31C:3BEE64:4D9E70:67F61E:6A52F577 |
| html-safe-nonce | b167bb7f2ca58af9d4e9201aa57e6681dee612cd9b3c0ed87b3a47c5d9070fc9 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFMzFDOjNCRUU2NDo0RDlFNzA6NjdGNjFFOjZBNTJGNTc3IiwidmlzaXRvcl9pZCI6IjU2MDI4NTI1NTgxNjUxNzc3MTkiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 70c835e010b6df7cab7cca78ad8cf45216b88c2bbb3bd9db6c07c2e3080c8947 |
| hovercard-subject-tag | issue:500366002 |
| 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/15351/issue_layout |
| twitter:image | https://opengraph.githubassets.com/ffd7b6bb176c0ed02ae4de31ff62e69c440d5a7664c656061744288ff35f61c8/matplotlib/matplotlib/issues/15351 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/ffd7b6bb176c0ed02ae4de31ff62e69c440d5a7664c656061744288ff35f61c8/matplotlib/matplotlib/issues/15351 |
| og:image:alt | Bug report Bug summary In an non-obvious fashion, sometimes bars get wrong width. Specifically, each subsequent bar expands in width versus the prior one. However, it does this for some datasets bu... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | DavidMertz |
| 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