Tom, Thanks for https://github.com/matplotlib/matplotlib/pull/3587, which provides a concise draft implementation of your proposal, in concept if not in detail.
Although this provides a way to get interactive drawing while specifying axes and figures explicitly, it is still using two interfaces (your "interactive" function namespace plus the original OO methods) to do this instead of the single interface that I am suggesting (embedding the functionality in the OO methods). One disadvantage is that when code is developed interactively, using your "interactive" namespace, more translation is required when the user wants to take the ipython history and edit it down to a module in which the OO interface is used. Independently, your suggestion to use wrappers instead of boilerplate.py could be considered as a way to make pyplot.py shorter; historically, boilerplate.py was used because the versions of python available when mpl was being developed lacked the ability to do everything that needed to be done with wrappers. I don't remember exactly what the sticking point was, but definitely there was one. I still haven't seen a prohibitive objection to my original suggestion, which I think would involve minimal API change, and which directly addresses precisely the problems that I called out. My own primary reservation about it is that it adds some complexity at the OO level, and as I said earlier, as a general rule, I want to see complexity reduced, not increased. Then the question is, can the added complexity be kept down to a low enough level that it is an acceptable tradeoff for the increased consistency and simplicity from the user's standpoint? I'm not sure; but I think it deserves consideration. As a side note, there was an earlier attempt to address a different aspect of pyplot-OO convergence here: https://github.com/matplotlib/matplotlib/pull/1457. It didn't work out, but it was in response to genuine pull from users. Notice also the last paragraph of @pelson's comment in that PR--a testament to the real-world advantages of pyplot. Eric ------------------------------------------------------------------------------ Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk _______________________________________________ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel