Title: Autoscaling on log axis with negative data results in arbitrary limits. · Issue #10782 · matplotlib/matplotlib · GitHub
Open Graph Title: Autoscaling on log axis with negative data results in arbitrary limits. · Issue #10782 · matplotlib/matplotlib
X Title: Autoscaling on log axis with negative data results in arbitrary limits. · Issue #10782 · matplotlib/matplotlib
Description: Bug report Bug summary Plotting negative values on a log scale is possible. However it changes the axis limits in a seemingly arbitrary way. Code for reproduction The following shows three scatter plots. The x values (1) are all positive...
Open Graph Description: Bug report Bug summary Plotting negative values on a log scale is possible. However it changes the axis limits in a seemingly arbitrary way. Code for reproduction The following shows three scatter ...
X Description: Bug report Bug summary Plotting negative values on a log scale is possible. However it changes the axis limits in a seemingly arbitrary way. Code for reproduction The following shows three scatter ...
Opengraph URL: https://github.com/matplotlib/matplotlib/issues/10782
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Autoscaling on log axis with negative data results in arbitrary limits.","articleBody":"\r\n\r\n### Bug report\r\n\r\n**Bug summary**\r\n\r\nPlotting negative values on a log scale is possible. However it changes the axis limits in a seemingly arbitrary way. \r\n\r\n**Code for reproduction**\r\n\r\nThe following shows three scatter plots. The `x` values\r\n(1) are all positive\r\n(2) contain one negative value\r\n(3) have the negative value filtered out\r\n\r\n```\r\nimport numpy as np; np.random.seed(1)\r\nimport matplotlib.pyplot as plt\r\n\r\nx = np.random.rayleigh(100,400)\r\ny = np.random.rand(len(x))\r\n\r\nfig, (ax,ax2, ax3) = plt.subplots(nrows=3)\r\n\r\nax.scatter(x,y)\r\nax.set_xscale(\"log\")\r\nax.set_title(\"Scatter of all-positive values\")\r\n\r\nax2.scatter(x-2,y)\r\nax2.set_xscale(\"log\")\r\nax2.set_title(\"Scatter with one negative value\")\r\n\r\ncond = x-2 \u003e 0\r\nax3.scatter((x-2)[cond],y[cond])\r\nax3.set_xscale(\"log\")\r\nax3.set_title(\"Expected scatter with one negative value\")\r\n\r\nplt.tight_layout()\r\nplt.show()\r\n```\r\n\r\n**Actual outcome**\r\n\r\nThe second subplot, where the data contains a negative value, shows only part of the valid data, because the axis is autoscaled to some seemingly arbitrary region.\r\n\u003c!--The output produced by the above code, which may be a screenshot, console output, etc.--\u003e\r\n\r\n\r\n\r\n**Expected outcome**\r\n\r\nThe third subplot would be the expected outcome with the axis autoscaled to show all points. \r\n\r\nOne could also argue that plotting negative data on a log scale should not be supported at all, and that it should be the user's responsibility to make sure the data is positive. In that case however it would make sense to issue a warning instead of just plotting something arbitrary.\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: Windows 8.1\r\n * Matplotlib version: 2.2\r\n * Matplotlib backend: any\r\n * Python version: 2.7.10\r\n\r\n","author":{"url":"https://github.com/ImportanceOfBeingErnest","@type":"Person","name":"ImportanceOfBeingErnest"},"datePublished":"2018-03-14T14:25:29.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":7},"url":"https://github.com/10782/matplotlib/issues/10782"}
| 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:d178213b-aeca-d948-1a79-ce29fc900c0a |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | D06C:221685:F94EB4:14A825F:6A51A400 |
| html-safe-nonce | 2fc4fd7473801abb1d2c6d86db7f5e8d76ce9327dca4a84ee46f1d3ae3e634d8 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEMDZDOjIyMTY4NTpGOTRFQjQ6MTRBODI1Rjo2QTUxQTQwMCIsInZpc2l0b3JfaWQiOiIxNTY3NDU5MTc0MTM2MjU5NTg0IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 0efd6b8c60768218e32b26b388b539a4cdeced75e88172c16ae5713ac2e32175 |
| hovercard-subject-tag | issue:305180664 |
| 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/10782/issue_layout |
| twitter:image | https://opengraph.githubassets.com/5596c54a332305bb798d255511a5b1df5d597614312e48bbabde5fabcb4d214f/matplotlib/matplotlib/issues/10782 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/5596c54a332305bb798d255511a5b1df5d597614312e48bbabde5fabcb4d214f/matplotlib/matplotlib/issues/10782 |
| og:image:alt | Bug report Bug summary Plotting negative values on a log scale is possible. However it changes the axis limits in a seemingly arbitrary way. Code for reproduction The following shows three scatter ... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | ImportanceOfBeingErnest |
| 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