|
From: Chris B. <cbe...@cf...> - 2013-08-22 22:55:30
Attachments:
image.png
|
Hi, I have a semitransparent plot that I rather like: [image: Inline image 1] I'd like to publish something like this in a journal which requires EPS figures. Unfortunately, EPS doesn't support transparency. How hard would it be to coax matplotlib (or another tool) to convert this semi-transparent figure into a non-semitransparent figure that looks the same? It would consist of more polygons, each of which has a constant RGB value in the transparent figure. I don't want to rasterize the lines, because I like zooming absurdly far into plots, and having them stay crisp. Cheers, Chris |
|
From: Jerzy K. <jer...@un...> - 2013-08-23 00:21:16
|
Chris Beaumont : > > I have a semitransparent plot that I rather like: ... > I'd like to publish something like this in a journal which requires > EPS figures. Unfortunately, EPS doesn't support transparency. > > How hard would it be to coax matplotlib (or another tool) to convert > this semi-transparent figure into a non-semitransparent figure that > looks the same? I won't claim that this is an ultimate solution, but what I did a few times was to 1. Choose the svg backend, savefig the picture as svg. 2. Open in Inkscape and export as .eps. The result was satisfactory. Jerzy Karczmarczuk |
|
From: Chris B. <cbe...@cf...> - 2013-08-23 01:32:30
|
Thanks for these tips. It looks like some programs (like illustrator, and pdf2ps) are semi-smart about handling transparency when converting to ps. Both have their quirks (illustrator seems to mess up the bounding box, pdf2ps makes the text look worse/fuzzy). Is this the recommended/best strategy? Thanks, chris On Thu, Aug 22, 2013 at 8:04 PM, Jerzy Karczmarczuk < jer...@un...> wrote: > Chris Beaumont : > > > > I have a semitransparent plot that I rather like: > ... > > I'd like to publish something like this in a journal which requires > > EPS figures. Unfortunately, EPS doesn't support transparency. > > > > How hard would it be to coax matplotlib (or another tool) to convert > > this semi-transparent figure into a non-semitransparent figure that > > looks the same? > > I won't claim that this is an ultimate solution, but what I did a few > times was to > 1. Choose the svg backend, savefig the picture as svg. > 2. Open in Inkscape and export as .eps. > > The result was satisfactory. > > Jerzy Karczmarczuk > > > > ------------------------------------------------------------------------------ > Introducing Performance Central, a new site from SourceForge and > AppDynamics. Performance Central is your source for news, insights, > analysis and resources for efficient Application Performance Management. > Visit us today! > http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |
|
From: Jon R. <jon...@gm...> - 2013-08-23 08:14:30
|
Dear Chris and List,
pdf2ps is usually just a front end to a long-winded ghostscript ("gs")
command. On my system this comes out as:
gs -q -dNOPAUSE -dBATCH -P- -dSAFER -sDEVICE=ps2write
"-sOutputFile=$outfile" -c save pop -f "$1"
If you're feeling brave, you can look at the ghostscript manual for ways to
improve upon the results (http://www.ghostscript.com/doc/9.07/Use.htm).
I've had to play this "game" with Astronomy journals in the past, and what
I actually did was save the output as a JPEG of ridiculously high
resolution and then put a postscript wrapper around it using jpeg2ps (
http://www.pdflib.com/download/free-software/jpeg2ps/).
Not pretty, but it works.
Good luck,
Jon
Jon Ramsey
===============================
jon...@gm...
On 23 August 2013 03:32, Chris Beaumont <cbe...@cf...> wrote:
> Thanks for these tips. It looks like some programs (like illustrator, and
> pdf2ps) are semi-smart about handling transparency when converting to ps.
> Both have their quirks (illustrator seems to mess up the bounding box,
> pdf2ps makes the text look worse/fuzzy).
>
> Is this the recommended/best strategy?
>
> Thanks,
> chris
>
>
> On Thu, Aug 22, 2013 at 8:04 PM, Jerzy Karczmarczuk <
> jer...@un...> wrote:
>
>> Chris Beaumont :
>> >
>> > I have a semitransparent plot that I rather like:
>> ...
>> > I'd like to publish something like this in a journal which requires
>> > EPS figures. Unfortunately, EPS doesn't support transparency.
>> >
>> > How hard would it be to coax matplotlib (or another tool) to convert
>> > this semi-transparent figure into a non-semitransparent figure that
>> > looks the same?
>>
>> I won't claim that this is an ultimate solution, but what I did a few
>> times was to
>> 1. Choose the svg backend, savefig the picture as svg.
>> 2. Open in Inkscape and export as .eps.
>>
>> The result was satisfactory.
>>
>> Jerzy Karczmarczuk
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Introducing Performance Central, a new site from SourceForge and
>> AppDynamics. Performance Central is your source for news, insights,
>> analysis and resources for efficient Application Performance Management.
>> Visit us today!
>>
>> http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
>> _______________________________________________
>> Matplotlib-users mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>
>
>
>
> ------------------------------------------------------------------------------
> Introducing Performance Central, a new site from SourceForge and
> AppDynamics. Performance Central is your source for news, insights,
> analysis and resources for efficient Application Performance Management.
> Visit us today!
> http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>
|
|
From: Florian M. W. <wag...@st...> - 2013-08-23 07:54:08
|
Hey Chris, I had a similar problem. I saved the transparent objects, so the polygons in your case, as a high-resolution png and the axes, dots, lines, text objects and everything else to an eps. Finally, I just layed them on top of each other in Illustrator and saved as eps, which produced a decent result. But this was only a work-around as well. They might be better options... Cheers Florian Am 23.08.2013 00:55, schrieb Chris Beaumont: > Hi, > > I have a semitransparent plot that I rather like: > > Inline image 1 > I'd like to publish something like this in a journal which requires > EPS figures. Unfortunately, EPS doesn't support transparency. > > How hard would it be to coax matplotlib (or another tool) to convert > this semi-transparent figure into a non-semitransparent figure that > looks the same? It would consist of more polygons, each of which has a > constant RGB value in the transparent figure. > > I don't want to rasterize the lines, because I like zooming absurdly > far into plots, and having them stay crisp. > > Cheers, > Chris > > > ------------------------------------------------------------------------------ > Introducing Performance Central, a new site from SourceForge and > AppDynamics. Performance Central is your source for news, insights, > analysis and resources for efficient Application Performance Management. > Visit us today! > http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk > > > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
|
From: Jerzy K. <jer...@un...> - 2013-08-23 19:47:05
|
Le 23/08/2013 03:32, Chris Beaumont a écrit : > It looks like some programs (like illustrator, and pdf2ps) are > semi-smart about handling transparency when converting to ps. Both > have their quirks (illustrator seems to mess up the bounding box, > pdf2ps makes the text look worse/fuzzy). > > Is this the recommended/best strategy? Who can really say what is a/the recommended strategy?... I am almost certain that the process described by Jon Ramsey - passing through jpeg - is better to be avoided. It probably works decently, and the JPEG is quite economic, but the conversion of a raster into EPS produces large files, and - as you said - the rasterization makes it not so scalable. And in general, a lossy compression is methodologically wrong here... I compared on a sample picture (similar to yours, but simpler, from the matplotlib documentation) these two methods: 1. Generate pdf, use pdf2ps (and convert to eps) 2. Generate svg, use inkscape to export eps. The results are visually comparable. I don't notice much of fuzziness; perhaps this is the anti-aliasing on your display? My version, the passage through svg produces a file which is more than 3 times shorter. Good luck. Jerzy Karczmarczuk PS. Try to convince the Dark Powers of the journal you send your work, that they modernize their processing and accept PDF. |
|
From: Sterling S. <sm...@fu...> - 2013-08-23 20:24:58
|
> > > PS. Try to convince the Dark Powers of the journal you send your work, > that they modernize their processing and accept PDF. +1 |
|
From: Chris B. <cbe...@cf...> - 2013-08-23 21:29:25
|
Thanks for the tips -- I wish there was a way to do this within MPL, but it sounds like I'll have to live with external hackery. > > > PS. Try to convince the Dark Powers of the journal you send your work, > > that they modernize their processing and accept PDF. > +1 I know, right? chris |