Title: Matplotlib 3.2.1 savefig empty image when fig size matches data size exactly · Issue #17542 · matplotlib/matplotlib · GitHub
Open Graph Title: Matplotlib 3.2.1 savefig empty image when fig size matches data size exactly · Issue #17542 · matplotlib/matplotlib
X Title: Matplotlib 3.2.1 savefig empty image when fig size matches data size exactly · Issue #17542 · matplotlib/matplotlib
Description: Bug report Bug summary Saving a figure to an image file with the same pixel dimensions as data loaded with imshow does not work in 3.2.1, producing an empty image. If the dimensions are changed by even one pixel, normal behavior returns....
Open Graph Description: Bug report Bug summary Saving a figure to an image file with the same pixel dimensions as data loaded with imshow does not work in 3.2.1, producing an empty image. If the dimensions are changed by ...
X Description: Bug report Bug summary Saving a figure to an image file with the same pixel dimensions as data loaded with imshow does not work in 3.2.1, producing an empty image. If the dimensions are changed by ...
Opengraph URL: https://github.com/matplotlib/matplotlib/issues/17542
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Matplotlib 3.2.1 savefig empty image when fig size matches data size exactly","articleBody":"### Bug report\r\n\r\n**Bug summary**\r\n\r\nSaving a figure to an image file with the same pixel dimensions as data loaded with imshow does not work in 3.2.1, producing an empty image. If the dimensions are changed by even one pixel, normal behavior returns.\r\n\r\nThis bug appeared in 3.2.1 and I have confirmed that it does not occur with 3.1.1.\r\n\r\nI noticed in the release notes for 3.2.0 that some changes were made to the default image interpolation; perhaps an unhandled condition was introduced here when no interpolation is required. However, I note that changing the interpolation mode had no effect on this bug. \r\n\r\n**Code for reproduction**\r\n\r\n```python\r\nimport numpy as np\r\nfrom matplotlib import pylab as plt\r\n\r\nx_size, y_size = (100, 100)\r\nfig = plt.figure(frameon=False, dpi=100, figsize=(y_size/100, x_size/100))\r\nax = plt.Axes(fig, [0., 0., 1., 1.])\r\nfig.add_axes(ax)\r\nax.set_axis_off()\r\nax.get_xaxis().set_visible(False)\r\nax.get_yaxis().set_visible(False)\r\n\r\ndata = np.random.rand(100, 100)\r\nax.imshow(data)\r\nfig.savefig('/tmp/image.png', bbox_inches='tight', pad_inches=0)\r\n\r\n# In matplotlib 3.2.1, empty file with size 100x100 pixels output\r\n# if random data shape is changed to something other than 100x100, output\r\n# works correctly.\r\n\r\n# In matplotlib 3.1.1, file output is 100x100 with data shown correctly.\r\n```\r\n\r\n**Actual outcome**\r\n\r\n\r\n**Expected outcome**\r\n\r\n\r\n\r\nProduced with matplotlib 3.1.1\r\n\r\n**Matplotlib version**\r\n * Operating system: Linux version 5.6.13-arch1-1\r\n * Matplotlib version: 3.2.1\r\n * Matplotlib backend (`print(matplotlib.get_backend())`): TkAgg\r\n * Python version: 3.8.3\r\n * Other libraries: numpy 1.18.4\r\n\r\nDefault system install on Arch linux package `python-matplotlib-3.2.1-1-x86_64`\r\n\r\n","author":{"url":"https://github.com/rdgraham","@type":"Person","name":"rdgraham"},"datePublished":"2020-05-31T21:00:00.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":7},"url":"https://github.com/17542/matplotlib/issues/17542"}
| 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:97ed171d-c214-8a4d-d804-3e21096253d2 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | DBDC:1661F0:105679D:15C1C1F:6A529B8B |
| html-safe-nonce | 2143fe16295251279d66de542d58d37597bd3a8a9e749230b42e4d5033bc9dd2 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEQkRDOjE2NjFGMDoxMDU2NzlEOjE1QzFDMUY6NkE1MjlCOEIiLCJ2aXNpdG9yX2lkIjoiODY2MzE4Nzc4NjQ1Nzg0ODcxNSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 6c8eff0ad0244c26be92e59472b52e99d00a9bacbaced7f707f2b4a44cb25fa0 |
| hovercard-subject-tag | issue:628043117 |
| 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/17542/issue_layout |
| twitter:image | https://opengraph.githubassets.com/c31f8e538fa47c5324228c9a6e49ec854857dd6c7a4775bb77f43551be7b99f3/matplotlib/matplotlib/issues/17542 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/c31f8e538fa47c5324228c9a6e49ec854857dd6c7a4775bb77f43551be7b99f3/matplotlib/matplotlib/issues/17542 |
| og:image:alt | Bug report Bug summary Saving a figure to an image file with the same pixel dimensions as data loaded with imshow does not work in 3.2.1, producing an empty image. If the dimensions are changed by ... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | rdgraham |
| 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