I am writing a web server app that creates charts among
> other things. I am trying to get rid of the temporary file
> that I use to transmit the figures created with matplotlib
> to the actual web server. Although print_figure says "If
> filename is a fileobject, write png to file object (thus
> you can, for example, write the png to stdout)" I can't
> successfully write anything to stdout. Anyone knows an
> example or can give me some hint what I can do to get rid
> of the tempfile?
>> Short answer: no known way to do this currently, though we'd
>> like to figure it out. As far as I know (and could very well
>> be wrong) libpng requires a FILE*, which StringIO and cStringIO
>> do not provide.
> StringIO isn't the issue here; being able to write to
> sys.stdout, which ought to have a valid FILE* underneath,
> is the issue.
Thanks for reminding me about this. I thought it was possible to do
this, but had managed to forget
import sys
from pylab import plot, savefig, show
plot([1,2,3])
savefig(sys.stdout)
show()
which I run with
> python test.py -dAgg > test.png
produces the expected figure.
JDH