Title: [ENH]: Possible improvements for out-of-the-box interactivity · Issue #28708 · matplotlib/matplotlib · GitHub
Open Graph Title: [ENH]: Possible improvements for out-of-the-box interactivity · Issue #28708 · matplotlib/matplotlib
X Title: [ENH]: Possible improvements for out-of-the-box interactivity · Issue #28708 · matplotlib/matplotlib
Description: Problem Compared to other visualization frameworks, matplotlib has very limited capability for interacting with the plot. I think we could do a bit better here. There are two obstacles related to interactivity in Matplotlib: By design, w...
Open Graph Description: Problem Compared to other visualization frameworks, matplotlib has very limited capability for interacting with the plot. I think we could do a bit better here. There are two obstacles related to i...
X Description: Problem Compared to other visualization frameworks, matplotlib has very limited capability for interacting with the plot. I think we could do a bit better here. There are two obstacles related to i...
Opengraph URL: https://github.com/matplotlib/matplotlib/issues/28708
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"[ENH]: Possible improvements for out-of-the-box interactivity","articleBody":"### Problem\n\nCompared to other visualization frameworks, matplotlib has very limited capability for interacting with the plot. I think we could do a bit better here.\r\n\r\nThere are two obstacles related to interactivity in Matplotlib:\r\n1) By design, we have a one-way processing pipeline from data to a visual representation (pixels or vector primitives). Backtracking which data or Artist is responsible for a visual output is possible, but not quite easy. Additionally, any desired visual change requires a complete re-rendering.\r\n2) We have multiple backends and want to provide consistency. This means, we have non-interactive backends that just can't provide interactivity. The interactivity we provide should work across all interactive backends.\r\n\r\n1 is an architecture limitation, that we cannot easily circumvent. This means, we won't be high-perfoming and won't be able to support complex interactions. 2 also limits the complexity of interactions we can practically implement. OTOH it does not mean we cannot provide any interactivity at all. For example, we do have panning and zooming in interactive backends.\n\n### Proposed solution\n\nLet us consider which small improvements we can reasonably make to improve interactive experience. The following list should track interactivity ideas that seem prossible to implement under the current architecture with limited effort. Please feel free to add:\r\n\r\n- [ ] Data tooltip support #23378\r\n- [ ] Support panning and zooming using mouse scroll wheel #20317\r\n- [ ] Toggling data via legend #16796","author":{"url":"https://github.com/timhoffm","@type":"Person","name":"timhoffm"},"datePublished":"2024-08-12T13:01:12.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":29},"url":"https://github.com/28708/matplotlib/issues/28708"}
| 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:e42e0b25-221b-76f5-4eef-6f1259c58b3e |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 8DCE:3AC7E6:17FD4B0:1FB7FAA:6A51C389 |
| html-safe-nonce | bf26ace550080d5d8f54b87558301a4e5e54d0415b80e710e51e33e4486590b6 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4RENFOjNBQzdFNjoxN0ZENEIwOjFGQjdGQUE6NkE1MUMzODkiLCJ2aXNpdG9yX2lkIjoiNjU3NzYwMDgxOTEyNTkyODg0MSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 8bce84dd759bdbc6a93d9aa19a7cd768b0ea821528a15222c6ee6925ef88ca04 |
| hovercard-subject-tag | issue:2460944890 |
| 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/28708/issue_layout |
| twitter:image | https://opengraph.githubassets.com/645bc3df81be2d5819abab6ec45393019ccc50adf05d115c173fbd77caf4cf91/matplotlib/matplotlib/issues/28708 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/645bc3df81be2d5819abab6ec45393019ccc50adf05d115c173fbd77caf4cf91/matplotlib/matplotlib/issues/28708 |
| og:image:alt | Problem Compared to other visualization frameworks, matplotlib has very limited capability for interacting with the plot. I think we could do a bit better here. There are two obstacles related to i... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | timhoffm |
| 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