Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Start of 3D plots: Basic plot_surface #201

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Start of 3D plots: Basic plot_surface #201

wants to merge 1 commit into from

Conversation

ianhi
Copy link
Collaborator

@ianhi ianhi commented Jul 19, 2021

Quick first pass at implementing plot_surface using the artist.remove strategy from #89 (comment)

attn: @redeboer this is a rough starting place. If you'd like to work on this you're absolutely welcome to work starting off this branch. I probably will only work on this in occasional spurts as it isn't a pressing need for me. So if you aren't able to work on this but it's something you'd like to be able to use then I'd also be open to releasing it before I clean up having all the arguments be callable and other polish.

One thing I didn't realize previously is that we have to do some shenanigans with the color cycles in order to get the color to stay the same.

See also: t-makaro/animatplot#57 by @johnomotani

TODO:

  1. This is far from perfect. In particular most of the parameters can actually be callables (https://matplotlib.org/stable/tutorials/toolkits/mplot3d.html#mpl_toolkits.mplot3d.Axes3D.plot_surface)
  2. Currently if Y is a callable is must accept X as an argument. This probably shouldn't be a hard requirement.
  3. Docstring!
  4. Docs page?

Final thought: Rewriting the vmin_vmax code for the Nth time has me really thinking that perhaps this function approach wasn't really the best. Maybe I should have made my own artist type objects that know how to update themselves. So then there could be a HasNorm class that handles all the vmin_vmax stuff in one place.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant