Title: bar_label clipping · Issue #19429 · matplotlib/matplotlib · GitHub
Open Graph Title: bar_label clipping · Issue #19429 · matplotlib/matplotlib
X Title: bar_label clipping · Issue #19429 · matplotlib/matplotlib
Description: Bug report Bug summary bar_label currently uses the default annotation() clipping behavior, which is to draw the text unclipped as long as the annotated point is within the axes. I'm not sure this is the best behavior for this use case? ...
Open Graph Description: Bug report Bug summary bar_label currently uses the default annotation() clipping behavior, which is to draw the text unclipped as long as the annotated point is within the axes. I'm not sure this ...
X Description: Bug report Bug summary bar_label currently uses the default annotation() clipping behavior, which is to draw the text unclipped as long as the annotated point is within the axes. I'm not sure t...
Opengraph URL: https://github.com/matplotlib/matplotlib/issues/19429
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"bar_label clipping","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\nbar_label currently uses the default annotation() clipping behavior, which is to draw the text unclipped as long as the annotated point is within the axes. I'm not sure this is the best behavior for this use case?\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\nfrom pylab import *\r\n\r\nax = gca()\r\nrs = ax.bar(np.arange(50), np.arange(50))\r\nax.bar_label(rs)\r\nax.set(ylim=(0, 40))\r\nshow()\r\n```\r\n\r\n**Actual outcome**\r\n\r\n\r\n\r\nNote how the 39 and 40 labels are still drawn (effectively, because the bar tops are within axes limits), but not the subsequent ones.\r\n\r\n**Expected outcome**\r\n\r\nI'm not sure what the best behavior would be, but it should likely be one of the following:\r\n- perform \"normal\" clipping (so 39 is half-clipped, 40 is fully clipped out)\r\n- don't draw any labels that would be clipped (39 is hidden)\r\n- don't clip at all (all labels are visible)\r\n\r\nbar_label is new in 3.4 so it *may* be worth deciding on this before the 3.4 release.\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: linux\r\n * Matplotlib version (`import matplotlib; print(matplotlib.__version__)`): head\r\n * Matplotlib backend (`print(matplotlib.get_backend())`): agg\r\n * Python version: 39\r\n * Jupyter version (if applicable): \r\n * Other libraries: \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(inspired by https://github.com/matplotlib/matplotlib/issues/19428, but that bug report is using a pre-bar_label labeling approach.)\r\n\r\n","author":{"url":"https://github.com/anntzer","@type":"Person","name":"anntzer"},"datePublished":"2021-02-02T11:16:38.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":7},"url":"https://github.com/19429/matplotlib/issues/19429"}
| 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:63fc89f9-d94c-493f-b834-5a261f2e7e2d |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 93DA:3258B1:5D1B24:7D233F:6A529BAD |
| html-safe-nonce | ef0eb35263f0b11a40b9f100e5d603eb8e9d48426fad61dedf649fe27b580144 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5M0RBOjMyNThCMTo1RDFCMjQ6N0QyMzNGOjZBNTI5QkFEIiwidmlzaXRvcl9pZCI6IjIwMjQ4MDUyMDE4MjgwMjczMDkiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 10f1955ac3916a1478b740d0eaf8bbaf259325f7776e75e926d7f6795a32fa9b |
| hovercard-subject-tag | issue:799186252 |
| 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/19429/issue_layout |
| twitter:image | https://opengraph.githubassets.com/3a4343c94d21efce94e1d36d303eec58252ca917d0bcedb4ae89293e2138e17f/matplotlib/matplotlib/issues/19429 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/3a4343c94d21efce94e1d36d303eec58252ca917d0bcedb4ae89293e2138e17f/matplotlib/matplotlib/issues/19429 |
| og:image:alt | Bug report Bug summary bar_label currently uses the default annotation() clipping behavior, which is to draw the text unclipped as long as the annotated point is within the axes. I'm not sure this ... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | anntzer |
| 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