Skip to content

WIP : draft of replacement for pyplot #3587

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

Closed
wants to merge 1 commit into from

Conversation

tacaswell
Copy link
Member

pyplot_nng replaces most of pyplot plotting functions, a few
things (like plt.subplots and the other axes/figure generation
functions) need to be

interactive gives a auto-redraw wrapper for explicitly using axes, but
forces you through a functional interface rather than the OO interface.

This a result of http://thread.gmane.org/gmane.comp.python.matplotlib.devel/12999

On one hand, this is a huge API change (but it can be done breaking back-compatibility as slowly as we want), but I think this will greatly simplify things going forward and solve the pyplot vs OO issues replacing both with a more functional approach (we still need to work out where the edges are, is it set_yscale(ax, 'log'), ax.yscale('log'), ax.set_yscale('log') or ax.yscale = 'log'). The pyplot/interactive repl interface is an automatic wrapping of the functions to handle the global state and automatic re-drawing and the functions take the place of the OO in scripts and user developed functions.

This would also let us sort the plotting functions in to modules which might help with the documentation issues.

cc @efiring

pyplot_nng replaces most of pyplot plotting functions, a few
things (like plt.subplots and the other axes/figure generation
functions) need to be

interactive gives a auto-redraw wrapper for explicitly using axes, but
forces you through a functional interface rather than the OO interface.
@efiring
Copy link
Member

efiring commented Sep 28, 2014

I'm going to reply on the list, not here, because I think it is important that this be discussed among a wider audience than those who happen to subscribe to this Github PR.

@tacaswell tacaswell added this to the unassigned milestone Sep 28, 2014
@tacaswell
Copy link
Member Author

Fair enough, I just wanted to get a working version of what I was talking about up someplace readable.

@fariza
Copy link
Member

fariza commented Nov 7, 2014

@tacaswell
Wouldn't it be a good idea to make a poll, for users and developers to express their preference?
As you put it
set_yscale(ax, 'log') vs ax.yscale('log') vs ax.set_yscale('log') vs ax.yscale = 'log'
Is not that we take the direction of the results, but that gives us and idea of what really users want.

Because it is too big of a change in the way users interact with matplotlib, this could be targeted at V2.0?

@efiring
Copy link
Member

efiring commented Nov 7, 2014

@fariza, I think a poll would be premature and not helpful; but the underlying point is correct. Yes, big changes must be designed for the long-term benefit of the user community, and introduced carefully.

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

Successfully merging this pull request may close these issues.

3 participants