FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

[ENH]: Adding Zoom Option in Interactive 3D plot · Issue #30772 · matplotlib/matplotlib · GitHub

Repository navigation

[ENH]: Adding Zoom Option in Interactive 3D plot #30772

Open

Description

Problem

I am really having a problem when I am trying to plot a 3D scatter plot with multiple points, and I need to look into a particular area to analyse it, but I am not able to zoom in on that point or cluster of points using the scroll wheel and need to use the magnifier that also creates some problem in zooming properly.

Proposed solution

Users would love a scroll wheel zoom because it works well in 2D plots, but implementing it in 3D plots can lack precision. So alternatively, we can use a Box Zoom, where we will draw a rectangle on that area, having areas and boundaries at the perfect points under which we need, and it will zoom to that particular area. This data-centric method provides unambiguous, precise zooming, perfectly framing the desired cluster for detailed inspection

Activity

  1. scottshambaugh commented on Nov 23, 2025

    Contributor

    To clarify, are you looking for a scroll-wheel zoom? 3D axes were excluded when that feature was added in #30405, but they could be included.

    Or are you looking for the axes to be stretched to precisely fit the area inside the zoom box to what's on screen? That was considered as part of adding zoom behavior to 3D axes, but we ultimately decided against it because it can cause the axes to be stretched in unpredictable ways when you project the 2D box to 3D coordinates. It looks fine when you do the initial zoom, but when you rotate the view you can see the distortion. #23449

  2. DataDetective-Neel commented on Nov 24, 2025

    Author

    Thanks for your reply.

    1. I really appreciate that you decided to add the scroll zoom option, but according to me it might not be sufficient as in cluster analysis scroll zoom will not isolate the required points from the non required ones and this might create some further problems. But this can be useful in normal day to day small projects so kindly consider adding it.

    2. According to me the box zoom feature would create distortion only if there is problem in adjusting the aspect ratio. To fix that we would need to develop something that when a person would draw a small rectangle in 2D, it would select the x,y,z axes and adjust the aspect ratio to reduce distortion.It's just a suggestion that I thought could be the reason but real problem could be identified after using it only.

    These two features together can be really beneficial. Please feel free to discuss further.

  3. scottshambaugh commented on Nov 24, 2025

    Contributor

    I coded up that behavior (box zoom with changing aspect ratios) when implementing 3D zooming initially, and it worked deterministically and as expected from the starting view angle. The code change to implement it is here: #23449 (comment)

    But the stretching of the axes meant that the data looked unexpectedly distorted when the view was rotated. IMO it would be a downgrade in user experience from the current implementation, but I'm open to having my mind changed on that if someone wants to record a demo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions


      Back | FazBrowse Home | New Git URL