Title: imshow pixel boundaries wrong when zoomed in · Issue #14143 · matplotlib/matplotlib · GitHub
Open Graph Title: imshow pixel boundaries wrong when zoomed in · Issue #14143 · matplotlib/matplotlib
X Title: imshow pixel boundaries wrong when zoomed in · Issue #14143 · matplotlib/matplotlib
Description: Bug report Bug summary imshow pixel boundaries visibly shift from expected coordinates by many pixels when zooming in, depending on dpi but not improving at high dpi. I am trying to plot gridded data with imshow so it aligns with other p...
Open Graph Description: Bug report Bug summary imshow pixel boundaries visibly shift from expected coordinates by many pixels when zooming in, depending on dpi but not improving at high dpi. I am trying to plot gridded da...
X Description: Bug report Bug summary imshow pixel boundaries visibly shift from expected coordinates by many pixels when zooming in, depending on dpi but not improving at high dpi. I am trying to plot gridded da...
Opengraph URL: https://github.com/matplotlib/matplotlib/issues/14143
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"imshow pixel boundaries wrong when zoomed in","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`imshow` pixel boundaries visibly shift from expected coordinates by many pixels when zooming in, depending on dpi but not improving at high dpi.\r\n\r\n\u003c!--A short 1-2 sentences that succinctly describes the bug--\u003e\r\n\r\nI am trying to plot gridded data with `imshow` so it aligns with other plot elements like lines. When I zoom in on the image so image pixels are bigger than the plot axes, the boundaries between pixels are visibly shifted from where they ought to be. The shift depends on the dpi of the figure but cannot be resolved by changing the dpi.\r\n\r\n**Code for reproduction**\r\n\r\n\u003c!--A minimum code snippet required to reproduce the bug.\r\nPlease make sure to minimize the number of dependencies required, and provide\r\nany necessary plotted data.\r\nAvoid using threads, as Matplotlib is (explicitly) not thread-safe.--\u003e\r\n\r\n```python\r\nimport numpy as np\r\nimport matplotlib.pyplot as plt\r\n\r\ndpi=72\r\nplt.figure(figsize=(12,4), dpi=dpi)\r\nz = np.eye(2)\r\nfor ii, d in enumerate([1, .1, .01]):\r\n plt.subplot(1,3,ii+1)\r\n plt.imshow(z)\r\n plt.xlim([0.5-d, 0.5+d])\r\n plt.ylim([0.5-d, 0.5+d])\r\n plt.vlines([-.5, 0.5, 1.5, 2.5, 3.5], -.5, 3.5, 'r')\r\n plt.hlines([-.5, 0.5, 1.5, 2.5, 3.5], -.5, 3.5, 'r')\r\n plt.title([f\"Full image ({dpi} dpi)\", \"10x\", \"100x\"][ii])\r\n```\r\n\r\n**Actual outcome**\r\n\r\nSeveral results with different dpi. Screenshotted at same resolution because one of them was generated at 1000 dpi.\r\n\r\n\r\n\r\n**Expected outcome**\r\n\r\nThe red grid lines drawn with `vlines` and `hlines` should lie directly on pixel boundaries.\r\n\r\n**Matplotlib version**\r\n\r\nMac OS X 10.12.6 \r\n\r\nMatplotlib version 3.0.3 installed from pip I think.\r\nBackend: module://ipykernel.pylab.backend_inline\r\n\r\nPython 3.7\r\n","author":{"url":"https://github.com/plisdku","@type":"Person","name":"plisdku"},"datePublished":"2019-05-06T18:12:50.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":14},"url":"https://github.com/14143/matplotlib/issues/14143"}
| 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:f020a73f-06f9-ce34-3d79-e1475970e2aa |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 8006:1AF501:1A62B5B:22E5FB8:6A51D414 |
| html-safe-nonce | 7ed2429227839abed017fc64183e9831ebbaaeac5d8aa372fdf6ff5ae62b60e6 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4MDA2OjFBRjUwMToxQTYyQjVCOjIyRTVGQjg6NkE1MUQ0MTQiLCJ2aXNpdG9yX2lkIjoiNTM5MTA4MjM1MjYyNjc4MDM2IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | b05e2f071d962fac817002f8b005a7c2082163a58225e69327735404abe3d004 |
| hovercard-subject-tag | issue:440820925 |
| 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/14143/issue_layout |
| twitter:image | https://opengraph.githubassets.com/bcca59a1f9f847fea4905bc871289f50008bf77b1ca1fff853166244560224e9/matplotlib/matplotlib/issues/14143 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/bcca59a1f9f847fea4905bc871289f50008bf77b1ca1fff853166244560224e9/matplotlib/matplotlib/issues/14143 |
| og:image:alt | Bug report Bug summary imshow pixel boundaries visibly shift from expected coordinates by many pixels when zooming in, depending on dpi but not improving at high dpi. I am trying to plot gridded da... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | plisdku |
| 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 | 7aed05249554b889eb33d002851a973eebcc7e91 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width