|
From: Phil E. <pel...@gm...> - 2012-07-29 15:43:36
|
I don't have a good answer to this and have had to implement such a thing in an outstanding pull request (in my case, I have a figure which has been un-pickled and needs re-attaching to pyplot). My proposed mechanism goes something like: figure = matplotlib.figure.Figure(...) import matplotlib.pyplot as plt mgr = plt._backend_mod.new_figure_manager_given_figure(num, self) Obviously this doesn't even exist on master yet, so if you need this functionality from a version before this you will have to reverse engineer the pyplot.figure function. HTH, On 29 July 2012 13:12, Anton Akhmerov <ant...@gm...> wrote: > Hi, > > I am writing a module which should, among other things, output images, and it > should work both in interactive mode and when imported as a script. > > In order for the plotting behavior to be clean, I would like to prepare the > figure separate from pyplot. The reason for this, is that the figure is drawn in > a non-interactive loop, and I don't want to show all the steps as they go. > Moreover, for some reason with ipython inline backend the figure is rendered > twice for no obvious reason. So the preferred behavior of my plotting function > (when pyplot output is requested) should be similar to: > > fig = matplotlib.figure.Figure() > ax = fig.add_subplot(111) > ax.plot([1,2,3]) > matplotlib.pyplot.<ADD_FIGURE>(fig) > > The best approximation to this that I was able to find so far is to use the > following dirty hack (although none of the attributes I use are _private!): > > f = plt.figure() > fig.canvas = f.canvas > f.canvas.figure = fig > > However this is still problematic: if the interactive mode is on, then rendering > of the figure will still be called after these two attribute. Moreover in > IPython notebook without inline plotting it will result in an opened GUI window, > but GUI mainloop not running. > > So here's my question: what's the best way to achieve the behavior that I want? > > Thank you, > Anton > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |