From: John H. <jdh...@ac...> - 2005-02-10 14:51:45
|
>>>>> "Bryan" == Bryan Cole <bry...@te...> writes: Bryan> I'm kind of surprised no-one else has requested this: how Bryan> about making all matplotlib objects picklable? It has been requested before. I remember Prabhu once asking whether matplotlib supports this. He uses xmgrace, and relies heavily on the ability to dump the figure objects to file and pick up where he left off. Not having this feature is a show-stopper for him. Bryan> The ability to save a plot to disk as a python object and Bryan> recall it at a later date, or send a live matplotlib figure Bryan> over a network socket would be really useful. I often have Bryan> plots I need to make small changes to at a later date. Would it suffice to send over the data and the matplotlib commands needed to operate on it -- or perhaps to send the image buffer as a string. What is the use case where sending the actual figure object is preferred? Bryan> Getting the pickling of all the C-objects right might be Bryan> tricky, I guess. I don't think the extension code part would be too bad. Extension code is mainly called at draw time and thus stores little data -- eg the image and agg backend extension modules. There are some exceptions to this, eg the transformation functions and axes limits are stored in extension code. Although the amount of data is small, it would be tricky to get this part right, basically because of the way lazy values work -- see http://matplotlib.sf.net/matplotlib.transforms.html. But this could be worked around with a little thought. This is not a paradigm I need or use much in my own work -- perhaps if it existed I would use it more. So I probably won't take the lead on this one, but would be happy to work with and help you or someone else who is, and provide helper methods for the extension code, etc. JDH |