First time here? Check out the FAQ!

Ask Your Question
0

No fillalpha after eps export?

asked 12 years ago

pinwheel gravatar image

updated 10 years ago

FrédéricC gravatar image

Hey guys,

this is a slightly modified example from the sage help pages:

(plot(1+e^(-x^2), xmin=-2, xmax=2, ymin=0, ymax=2.5, fill=0.5, fillcolor='green', fillalpha=0.5)).save('t.eps')

It shows an exponential function which is filled from below by green color. The option fillalpha=0.5 should make this filling slightly transparent, which works perfectly when exporting to pdf, but repdroducably fails when exporting to eps. Is there any workaround?

Preview: (hide)

2 Answers

Sort by » oldest newest most voted
1

answered 12 years ago

fidbc gravatar image

Hi,

Not really a sage solution and far from optimal. You can try

sage: P=plot(1+e^(-x^2), xmin=-2, xmax=2, ymin=0, ymax=2.5, fill=0.5, fillcolor='green', fillalpha=0.5)
sage: P.save( 't.pdf')

And then

$ pdftops t.pdf
$ ps2eps t.ps
Preview: (hide)
link

Comments

Long story short, (e)ps does not properly support alpha. So, this is probably the best solution at present. There is no automatic way to make figures with alpha in (e)ps.

ppurka gravatar imageppurka ( 12 years ago )
0

answered 12 years ago

kcrisman gravatar image

The problem is in our Polygon class - somehow it's not saving correctly. Compare these.

sage: polygon([(0,0), (1,1), (0,1)],alpha=.1).save('test.pdf')
sage: polygon([(0,0), (1,1), (0,1)],alpha=.1).save('test.eps')

If I can narrow it down a little more, I'll open a ticket. It's conceivable that it's a matplotlib issue, but I'd guess it's ours first.

Preview: (hide)
link

Comments

See http://trac.sagemath.org/sage_trac/ticket/14074 - my guess is still that we are doing something wrong, but it could be an mpl bug, in principle.

kcrisman gravatar imagekcrisman ( 12 years ago )

I have updated the ticket after opening an upstream mpl bug https://github.com/matplotlib/matplotlib/issues/1740

ppurka gravatar imageppurka ( 12 years ago )

And now matplotlib says this is actually not supported by ps.

kcrisman gravatar imagekcrisman ( 12 years ago )

That is not correct. eps supports alpha channels. Here's proof: http://ompldr.org/vaGViZg/drawing.eps Ok. It is not so clear whether ps really really supports alpha. Some libraries use some tricks to get in some alpha support.

ppurka gravatar imageppurka ( 12 years ago )

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 12 years ago

Seen: 387 times

Last updated: Feb 06 '13