On Wed, Sep 23, 2009 at 12:56 PM, Andrew Straw <straw...@astraw.com> wrote:
> John Hunter wrote:
>> On Wed, Sep 23, 2009 at 12:42 PM, Andrew Straw <straw...@astraw.com> wrote:
>>
>>
>>> Sorry, I should have been more clear. I was thinking that the
>>> image_compare() decorator would call the test function multiple times,
>>> having switched the backend between invocations. Thus, the call to
>>> savefig() would continue not to explicitly set the extension. I've
>>> quickly modified the source to reflect my idea, but I haven't had a
>>> chance to flesh it out or test it. It should show the idea, though. See
>>> attached.
>>>
>>
>> Why not have the decorator pass the extension in to the test funcs --
>> agg can print to pdf, ps, svg and png
>>
> I'm not sure what you're suggesting. Presumably if we're driving agg OK
> to draw .png, it will also draw .pdf OK (or does it have a pdf vector
> backend independent of the MPL pdf backend that we want to test separately?)

No, it doesn't have a separate backend, but the backend_agg figure
canvas savefig method knows how to create FigureCanvasPDF etc to use
that backend to write the file w/o having to switch the default
backend with all the attendant hassles.  So if you are using *Agg, and
do

  savefig(somefile.pdf)

agg will load the native pdf backend and use it.  So I was envisioning

def test_something(ext):
   make_plot
   fig.savefig('myfile.%s'%ext)

and having the decorator pass in the extensions it wants one-by-one

JDH

------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to