Some time back I asked about initialising a projection in MPL using generic objects rather than by class name. I created a pull request associated with this which was responded to fantastically by leejjoon which (after several months) I have finally got around to implementing. My changes have been added to the original pull request, which will eventually be obsoleted, but that doesn't seem to have notified the devel mailing list, therefore I would like to draw the list's attention to https://github.com/matplotlib/matplotlib/pull/470#issuecomment-3743543 on which I would greatly appreciate feedback & ultimately get onto the mpl master.
The pull request in question would pave the way for non string projections so I thought I would play with how one might go about specifying the location of theta_0 in a polar plot (i.e. should it be due east or due north etc.). I have branched my changeset mentioned in the pull request above and implemented a couple of ideas, although I am not proposing that these changes go any further at this stage (I would be happy if someone wants to run with them though): Currently, one can set the theta_0 of a polar plot with: ax = plt.axes(projection='polar') ax.set_theta_offset(np.pi/2) ax.plot(np.arange(100)*0.15, np.arange(100)) But internally there are some nasties going on (theta_0 is an attribute on the axes, the transform is instantiated from within the axes and is given the axes that is instantiating it, which is all a bit circular). I have made a branch (https://github.com/PhilipElson/matplotlib/compare/master...polar_fun) which alleviates the axes attribute issue and would allow something like: polar_trans = mpl.transforms.Polar.PolarTransform(theta_offset=np.pi/2) ax = plt.axes(projection=polar_trans) ax.plot(np.arange(100)*0.15, np.arange(100)) Or, I have added a helper class which also demonstrates the proposed: non-string change: ax = plt.axes(projection=Polar(theta0=90)) ax.plot(np.arange(100)*0.15, np.arange(100)) As I said, I am not proposing these changes to the way Polar works at this stage, but thought it was worth sharing to show what can be done once something similar to the proposed change gets on to mpl master. Hope that makes sense. Many Thanks, ------------------------------------------------------------------------------ Try before you buy = See our experts in action! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-dev2 _______________________________________________ Matplotlib-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/matplotlib-devel