From: Christian K. <ck...@ho...> - 2005-11-17 21:54:26
|
Hi, I'm trying to create an eps file which does not have a figure frame. I used figurePatch.fill = False to prevent filling but there's still a white frame drawn around the figure which is visible when putting it on a coloured background. figurePatch.set_lw(0.0) didn't help neither. figure(frameon=False) seems to have no effect. Thank you in advance, Christian |
From: <dd...@ja...> - 2006-04-18 05:19:48
|
There was a thread on this subject (eps without figure frame) awhile back (for example, http://sourceforge.net/mailarchive/message.php?msg_id=13894773), but I could not find a final solution posted. Here's what worked for me: fig = figure() setp(fig.figurePatch, width=0.0, height=0.0, facecolor=anycolor, edgecolor=anycolor, linewidth=0.0) The only difference with the previous posts is to set the width and height of the figurePatch Rectangle to zero. |
From: John H. <jdh...@ac...> - 2005-11-18 03:19:42
|
>>>>> "Christian" == Christian Kristukat <ck...@ho...> writes: Christian> Hi, I'm trying to create an eps file which does not Christian> have a figure frame. I used figurePatch.fill = False to Christian> prevent filling but there's still a white frame drawn Christian> around the figure which is visible when putting it on a Christian> coloured background. Christian> figurePatch.set_lw(0.0) didn't help neither. Christian> figure(frameon=False) seems to have no effect. The standard trick is to set the figure facecolor and edgecolor to be the same. For whatever reason, a linewidth of 0 is not handled consistently across ps drivers. setp(figurePatch, facecolor=somecolor, edgecolor=somecolor, linewidth=0) should work. JDH Christian> Thank you in advance, Christian Christian> ------------------------------------------------------- Christian> This SF.Net email is sponsored by the JBoss Inc. Get Christian> Certified Today Register for a JBoss Training Course. Christian> Free Certification Exam for All Training Attendees Christian> Through End of 2005. For more info visit: Christian> http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click Christian> _______________________________________________ Christian> Matplotlib-users mailing list Christian> Mat...@li... Christian> https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
From: Robert K. <rob...@gm...> - 2005-11-18 07:34:28
|
John Hunter wrote: > The standard trick is to set the figure facecolor and edgecolor to be > the same. For whatever reason, a linewidth of 0 is not handled > consistently across ps drivers. In the PostScript model (and thus also PDF), a linewidth of 0 means "1 pixel at the rendered resolution," not that the line is invisible. -- Robert Kern rob...@gm... "In the fields of hell where the grass grows high Are the graves of dreams allowed to die." -- Richard Harter |
From: Christian K. <ck...@ho...> - 2005-11-18 09:19:21
|
John Hunter wrote: >>>>>>"Christian" == Christian Kristukat <ck...@ho...> writes: > > > Christian> Hi, I'm trying to create an eps file which does not > Christian> have a figure frame. I used figurePatch.fill = False to > Christian> prevent filling but there's still a white frame drawn > Christian> around the figure which is visible when putting it on a > Christian> coloured background. > > Christian> figurePatch.set_lw(0.0) didn't help neither. > > Christian> figure(frameon=False) seems to have no effect. > > The standard trick is to set the figure facecolor and edgecolor to be > the same. For whatever reason, a linewidth of 0 is not handled > consistently across ps drivers. > > setp(figurePatch, facecolor=somecolor, edgecolor=somecolor, linewidth=0) Indeed the frame line is not drawn in that case, but it is still beeing filled. To prevent filling I tried: f.figurePatch.fill = False setp(f.figurePatch, facecolor='black', edgecolor='black', linewidth=0) but now the frame line is back again - in white. Any other ideas? Christian |
From: John H. <jdh...@ac...> - 2005-11-18 13:04:27
|
>>>>> "Christian" == Christian Kristukat <ck...@ho...> writes: Christian> but now the frame line is back again - in white. Christian> Any other ideas? You want fig = figure(frameon=False) or for an existing fig fig.frameon = False JDH |
From: Christian K. <ck...@ho...> - 2005-11-18 14:22:14
|
John Hunter wrote: >>>>>>"Christian" == Christian Kristukat <ck...@ho...> writes: > > > Christian> but now the frame line is back again - in white. > > Christian> Any other ideas? > > You want > > fig = figure(frameon=False) > > or for an existing fig > > fig.frameon = False I tried that before. It gives a filled white frame without border line. I checked that using skencil and pstoedit to convert into skencil's own format. Btw. I'm using a smaller figure size than the default and the eps always contains a small polygon with 4 nodes down at the left bottom of larger page which is about DIN A4/US Letter which makes the bounding box unnecessary big. Christian |
From: John H. <jdh...@ac...> - 2005-11-18 21:42:36
|
>>>>> "Christian" == Christian Kristukat <ck...@ho...> writes: Christian> I tried that before. It gives a filled white frame Christian> without border line. I checked that using skencil and Christian> pstoedit to convert into skencil's own format. Christian> Btw. I'm using a smaller figure size than the default Christian> and the eps always contains a small polygon with 4 Christian> nodes down at the left bottom of larger page which is Christian> about DIN A4/US Letter which makes the bounding box Christian> unnecessary big. You might want to try again. This is pretty much guaranteed to work. The Figure.draw method in figure.py reads: if self.frameon: self.figurePatch.draw(renderer) I don't see how the patch can be drawn if frameon is false... JDH |
From: Christian K. <ck...@ho...> - 2005-11-19 10:10:01
Attachments:
simple_framoff.png
|
John Hunter wrote: >>>>>>"Christian" == Christian Kristukat <ck...@ho...> writes: > > > Christian> I tried that before. It gives a filled white frame > Christian> without border line. I checked that using skencil and > Christian> pstoedit to convert into skencil's own format. > Christian> Btw. I'm using a smaller figure size than the default > Christian> and the eps always contains a small polygon with 4 > Christian> nodes down at the left bottom of larger page which is > Christian> about DIN A4/US Letter which makes the bounding box > Christian> unnecessary big. > > You might want to try again. This is pretty much guaranteed to work. > The Figure.draw method in figure.py reads: > > if self.frameon: self.figurePatch.draw(renderer) > > I don't see how the patch can be drawn if frameon is false... Maybe we're not talking about the same frame? I attached a bitmap created with skencil after having converted the eps with pstoedit. I coloured the frame green. Christian |
From: Christian K. <ck...@ho...> - 2005-11-19 10:46:11
|
John Hunter wrote: >>>>>>"Christian" == Christian Kristukat <ck...@ho...> writes: > > > Christian> I tried that before. It gives a filled white frame > Christian> without border line. I checked that using skencil and > Christian> pstoedit to convert into skencil's own format. > Christian> Btw. I'm using a smaller figure size than the default > Christian> and the eps always contains a small polygon with 4 > Christian> nodes down at the left bottom of larger page which is > Christian> about DIN A4/US Letter which makes the bounding box > Christian> unnecessary big. > > You might want to try again. This is pretty much guaranteed to work. > The Figure.draw method in figure.py reads: > > if self.frameon: self.figurePatch.draw(renderer) > I just checked by inserting a print statement, that self.frameon is True 4 times during one run of simple_plot.py with figure(frameon=False) Christian |