Re: [Matplotlib-users] problem with usetex \color

2009-05-14 Thread Matthias Michler
Hi Jae-Joon,

thank you very much for taking the time and for your suggestions. Indeed the 
different distillers yield different output as you can see in the attached 
pics. Does this mean that this behaviour is due to tex / the installed 
distiller or are different distillers differently handled in matplotlib?
Especially the different used papersize A4/Letter vs. small region around text 
seems to be remarkable.

best regards
Matthias

On Wednesday 13 May 2009 20:48:09 Jae-Joon Lee wrote:
 Hmm, I have no idea what is wrong and I'm afraid that there is not
 much I can do.
 ps backend undergoes several steps (tex - dvi - ps - [distiller]) to
 produce the final output, and it is hard to track down the problem
 without actually reproducing one.

 Just in case, can you change your distiller option and see if it makes
 any difference?

 rc(ps, usedistiller=ghostscript) # this would be the default

 or

 rc(ps, usedistiller=xpdf)

 -JJ



 On Wed, May 13, 2009 at 3:22 AM, Matthias Michler

 matthiasmich...@gmx.net wrote:
  Hi Jae-Joon,
 
  I updated to svn-revision 7099 and the problem (hidden part of b) still
  exists. Do you have any idea what I'm doing wrong?
 
  Thanks in advance for any hints.
 
  best regards Matthias
 
  On Tuesday 12 May 2009 20:46:06 Jae-Joon Lee wrote:
  On Tue, May 12, 2009 at 5:04 AM, Matthias Michler
 
  matthiasmich...@gmx.net wrote:
   Hello list,
  
   I'm not sure that following problem also occurs for Sebastian, but if
   I use PS-backend in the below script I get the attached output, where
   the upper part of the b is somehow hidden (matplotlib-version
   0.98.6svn). Is this a problem of matplotlib or did I miss something in
   the tex-handling?
 
  Unfortunately, I don't see such problem, although the problem seems to
  be due to a wrong bounding box.
 
  Are you using the most recent svn? There has been some recent changes
  in ps backend. Before the changes (r7068, r7074), the ps backend tried
  to adjust the bounding box of the output ps file. However, as far as I
  can see, this often gave a wrong bounding box (and I guess your
  problem might be related with this issue). The above mentioned changes
  somehow bypass that bbox adjustment. The resulting bounding box should
  have the size of the figure if saved in eps, or size of the paper
  (letter or a4, I guess) if saved in ps.
 
  regards,
 
  -JJ
 
   best regards Matthias
  
   
  
   from matplotlib import use, rc
   use('PS')
   from pylab import figure, savefig
  
   rc('text', usetex=True)
   rc('text.latex', preamble=\usepackage{color})
  
   f = figure()
   f.text(0.5, 0.5, r{\color[rgb]{0,1,0} a } b {\color{blue} $\nu, \mu,
   \tau$})
  
   savefig('test_tex_color.ps')
  
   
  
   On Monday 11 May 2009 20:36:58 Jae-Joon Lee wrote:
The resulting graph is not colored -- but in the directory
~/.matplotlib/tex.cache/ the text is green, both in the dvi and the
png file!
   
It therefore seems to me that this is not completely hopeless but I
cannot figure out how to proceed.
  
   As far as I know, in matplotlib, all the tex png output is treated as
   grey  internally (the only exception I know of is ps backend, e.g.,
   your example will show you a correct color if you save it as ps). I
   guess this may have been a design decision.
   As far as I can see, MPL currently does not support texts with
   varying font properties (size, color, font).
   One possible workaround for this could be using the latex typesetting
   as you tried. However, supporting this within the current text
   framework of matplotlib would be difficult and may not be a good
   idea.
  
  
   However, I guess there are a few workarounds you may consider to use
   (but unfortunately I think none of them are easy to work with). So,
   if you describe where you intend to use multi-color text, I'll try to
   give some example appropriate for your situation. Multi-color text in
   figure title or simple annotation would be relatively simple.
   Multi-color text in legend label seems to be more difficult, but
   should be doable.
  
   -JJ
 
  -
 - The NEW KODAK i700 Series Scanners deliver under ANY circumstances!
  Your production scanning environment may not be a perfect world - but
  thanks to Kodak, there's a perfect scanner to get the job done! With the
  NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with
  all image processing features enabled. http://p.sf.net/sfu/kodak-com
  ___
  Matplotlib-users mailing list
  Matplotlib-users@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/matplotlib-users




test_tex_color_ghostscript.ps
Description: PostScript document


test_tex_color_xpdf.ps
Description: PostScript document

Re: [Matplotlib-users] problem with usetex \color

2009-05-13 Thread Matthias Michler
Hi Jae-Joon,

I updated to svn-revision 7099 and the problem (hidden part of b) still 
exists. Do you have any idea what I'm doing wrong?

Thanks in advance for any hints.

best regards Matthias 


On Tuesday 12 May 2009 20:46:06 Jae-Joon Lee wrote:
 On Tue, May 12, 2009 at 5:04 AM, Matthias Michler

 matthiasmich...@gmx.net wrote:
  Hello list,
 
  I'm not sure that following problem also occurs for Sebastian, but if I
  use PS-backend in the below script I get the attached output, where the
  upper part of the b is somehow hidden (matplotlib-version 0.98.6svn).
  Is this a problem of matplotlib or did I miss something in the
  tex-handling?

 Unfortunately, I don't see such problem, although the problem seems to
 be due to a wrong bounding box.

 Are you using the most recent svn? There has been some recent changes
 in ps backend. Before the changes (r7068, r7074), the ps backend tried
 to adjust the bounding box of the output ps file. However, as far as I
 can see, this often gave a wrong bounding box (and I guess your
 problem might be related with this issue). The above mentioned changes
 somehow bypass that bbox adjustment. The resulting bounding box should
 have the size of the figure if saved in eps, or size of the paper
 (letter or a4, I guess) if saved in ps.

 regards,

 -JJ

  best regards Matthias
 
  
 
  from matplotlib import use, rc
  use('PS')
  from pylab import figure, savefig
 
  rc('text', usetex=True)
  rc('text.latex', preamble=\usepackage{color})
 
  f = figure()
  f.text(0.5, 0.5, r{\color[rgb]{0,1,0} a } b {\color{blue} $\nu, \mu,
  \tau$})
 
  savefig('test_tex_color.ps')
 
  
 
  On Monday 11 May 2009 20:36:58 Jae-Joon Lee wrote:
   The resulting graph is not colored -- but in the directory
   ~/.matplotlib/tex.cache/ the text is green, both in the dvi and the
   png file!
  
   It therefore seems to me that this is not completely hopeless but I
   cannot figure out how to proceed.
 
  As far as I know, in matplotlib, all the tex png output is treated as
  grey  internally (the only exception I know of is ps backend, e.g.,
  your example will show you a correct color if you save it as ps). I
  guess this may have been a design decision.
  As far as I can see, MPL currently does not support texts with varying
  font properties (size, color, font).
  One possible workaround for this could be using the latex typesetting
  as you tried. However, supporting this within the current text
  framework of matplotlib would be difficult and may not be a good idea.
 
 
  However, I guess there are a few workarounds you may consider to use
  (but unfortunately I think none of them are easy to work with). So, if
  you describe where you intend to use multi-color text, I'll try to
  give some example appropriate for your situation. Multi-color text in
  figure title or simple annotation would be relatively simple.
  Multi-color text in legend label seems to be more difficult, but
  should be doable.
 
  -JJ

--
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image 
processing features enabled. http://p.sf.net/sfu/kodak-com
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] problem with usetex \color

2009-05-13 Thread Jae-Joon Lee
Hmm, I have no idea what is wrong and I'm afraid that there is not
much I can do.
ps backend undergoes several steps (tex - dvi - ps - [distiller]) to
produce the final output, and it is hard to track down the problem
without actually reproducing one.

Just in case, can you change your distiller option and see if it makes
any difference?

rc(ps, usedistiller=ghostscript) # this would be the default

or

rc(ps, usedistiller=xpdf)

-JJ



On Wed, May 13, 2009 at 3:22 AM, Matthias Michler
matthiasmich...@gmx.net wrote:
 Hi Jae-Joon,

 I updated to svn-revision 7099 and the problem (hidden part of b) still
 exists. Do you have any idea what I'm doing wrong?

 Thanks in advance for any hints.

 best regards Matthias


 On Tuesday 12 May 2009 20:46:06 Jae-Joon Lee wrote:
 On Tue, May 12, 2009 at 5:04 AM, Matthias Michler

 matthiasmich...@gmx.net wrote:
  Hello list,
 
  I'm not sure that following problem also occurs for Sebastian, but if I
  use PS-backend in the below script I get the attached output, where the
  upper part of the b is somehow hidden (matplotlib-version 0.98.6svn).
  Is this a problem of matplotlib or did I miss something in the
  tex-handling?

 Unfortunately, I don't see such problem, although the problem seems to
 be due to a wrong bounding box.

 Are you using the most recent svn? There has been some recent changes
 in ps backend. Before the changes (r7068, r7074), the ps backend tried
 to adjust the bounding box of the output ps file. However, as far as I
 can see, this often gave a wrong bounding box (and I guess your
 problem might be related with this issue). The above mentioned changes
 somehow bypass that bbox adjustment. The resulting bounding box should
 have the size of the figure if saved in eps, or size of the paper
 (letter or a4, I guess) if saved in ps.

 regards,

 -JJ

  best regards Matthias
 
  
 
  from matplotlib import use, rc
  use('PS')
  from pylab import figure, savefig
 
  rc('text', usetex=True)
  rc('text.latex', preamble=\usepackage{color})
 
  f = figure()
  f.text(0.5, 0.5, r{\color[rgb]{0,1,0} a } b {\color{blue} $\nu, \mu,
  \tau$})
 
  savefig('test_tex_color.ps')
 
  
 
  On Monday 11 May 2009 20:36:58 Jae-Joon Lee wrote:
   The resulting graph is not colored -- but in the directory
   ~/.matplotlib/tex.cache/ the text is green, both in the dvi and the
   png file!
  
   It therefore seems to me that this is not completely hopeless but I
   cannot figure out how to proceed.
 
  As far as I know, in matplotlib, all the tex png output is treated as
  grey  internally (the only exception I know of is ps backend, e.g.,
  your example will show you a correct color if you save it as ps). I
  guess this may have been a design decision.
  As far as I can see, MPL currently does not support texts with varying
  font properties (size, color, font).
  One possible workaround for this could be using the latex typesetting
  as you tried. However, supporting this within the current text
  framework of matplotlib would be difficult and may not be a good idea.
 
 
  However, I guess there are a few workarounds you may consider to use
  (but unfortunately I think none of them are easy to work with). So, if
  you describe where you intend to use multi-color text, I'll try to
  give some example appropriate for your situation. Multi-color text in
  figure title or simple annotation would be relatively simple.
  Multi-color text in legend label seems to be more difficult, but
  should be doable.
 
  -JJ

 --
 The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
 production scanning environment may not be a perfect world - but thanks to
 Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
 Series Scanner you'll get full speed at 300 dpi even with all image
 processing features enabled. http://p.sf.net/sfu/kodak-com
 ___
 Matplotlib-users mailing list
 Matplotlib-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/matplotlib-users


--
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image 
processing features enabled. http://p.sf.net/sfu/kodak-com
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] problem with usetex \color

2009-05-12 Thread Matthias Michler
Hello list,

I'm not sure that following problem also occurs for Sebastian, but if I use 
PS-backend in the below script I get the attached output, where the upper 
part of the b is somehow hidden (matplotlib-version 0.98.6svn).
Is this a problem of matplotlib or did I miss something in the tex-handling?

best regards Matthias

 
from matplotlib import use, rc
use('PS')
from pylab import figure, savefig

rc('text', usetex=True)
rc('text.latex', preamble=\usepackage{color})

f = figure()
f.text(0.5, 0.5, r{\color[rgb]{0,1,0} a } b {\color{blue} $\nu, \mu, \tau$})

savefig('test_tex_color.ps')
 

On Monday 11 May 2009 20:36:58 Jae-Joon Lee wrote:
  The resulting graph is not colored -- but in the directory
  ~/.matplotlib/tex.cache/ the text is green, both in the dvi and the png
  file!
 
  It therefore seems to me that this is not completely hopeless but I
  cannot figure out how to proceed.

 As far as I know, in matplotlib, all the tex png output is treated as
 grey  internally (the only exception I know of is ps backend, e.g.,
 your example will show you a correct color if you save it as ps). I
 guess this may have been a design decision.
 As far as I can see, MPL currently does not support texts with varying
 font properties (size, color, font).
 One possible workaround for this could be using the latex typesetting
 as you tried. However, supporting this within the current text
 framework of matplotlib would be difficult and may not be a good idea.


 However, I guess there are a few workarounds you may consider to use
 (but unfortunately I think none of them are easy to work with). So, if
 you describe where you intend to use multi-color text, I'll try to
 give some example appropriate for your situation. Multi-color text in
 figure title or simple annotation would be relatively simple.
 Multi-color text in legend label seems to be more difficult, but
 should be doable.

 -JJ

 ---
--- The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
 production scanning environment may not be a perfect world - but thanks to
 Kodak, there's a perfect scanner to get the job done! With the NEW KODAK
 i700 Series Scanner you'll get full speed at 300 dpi even with all image
 processing features enabled. http://p.sf.net/sfu/kodak-com
 ___
 Matplotlib-users mailing list
 Matplotlib-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/matplotlib-users


attachment: test_tex_color.eps

test_tex_color.ps
Description: PostScript document
--
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image 
processing features enabled. http://p.sf.net/sfu/kodak-com___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] problem with usetex \color

2009-05-12 Thread Sebastian Busch
Hey Jae-Joon!

Thank you for your answer!


Jae-Joon Lee wrote:
 ...your example will show you a correct color if you save it as ps...

Indeed the ps output is colored! That's great  :)

 ... describe where you intend to use multi-color text ...

OK, you got me -- actually, this was already a hack. My problem is that
I have labels which read something like

d = 12m

where the number varies within ]0, 20[. I would have liked to get an
aligned legend, like

d =  9m
d = 10m

In order to achieve that, i was trying to print a white (=invisible) 1
whenever the number was smaller than 10 as spaceholder (I do not want to
use a monospaced font). Obviously, this doesn't work any more as soon as
you reach 20...



Thanks again for the help -- I'm happy for the moment, but if you (or
someone else) can show me how to align the legend, it would be great.

Best wishes,
Sebastian.





signature.asc
Description: OpenPGP digital signature
--
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image 
processing features enabled. http://p.sf.net/sfu/kodak-com___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] problem with usetex \color

2009-05-12 Thread Sebastian Busch
Hey Matthias!

Thanks for working on that!

Matthias Michler wrote:
 ... I'm not sure that following problem also occurs for Sebastian, ...

it does.

 ... PS-backend ... the upper part of the b is somehow hidden ...
 f.text(0.5, 0.5, r{\color[rgb]{0,1,0} a } b {\color{blue} $\nu, \mu, \tau$})

In addition to that, I have the strange behaviour that the b is not
displayed at all when using

f.text(0.5, 0.5, r{\color[rgb]{0,1,0} a } b)
-- gives only a green a

but it is without the color command:

f.text(0.5, 0.5, r{ a } b)
-- gives black a b


Pretty weird, isn't it?
Best,
Sebastian.



signature.asc
Description: OpenPGP digital signature
--
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image 
processing features enabled. http://p.sf.net/sfu/kodak-com___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] problem with usetex \color

2009-05-12 Thread Jouni K . Seppänen
Sebastian Busch webmas...@thamnos.de writes:

 I would have liked to get an aligned legend, like

 d =  9m
 d = 10m

 In order to achieve that, i was trying to print a white (=invisible) 1
 whenever the number was smaller than 10 as spaceholder (I do not want to
 use a monospaced font). 

Does the \phantom trick work? I.e., r'd = \phantom{1}9m' or something
like that?

 Obviously, this doesn't work any more as soon as you reach 20...

Even if your font is not monospaced, it might have tabular figures:

http://www.fonts.com/aboutfonts/articles/fyti/propvstabfigures.htm

I think at least Computer Modern Roman (the default font in TeX) does
have tabular figures.

-- 
Jouni K. Seppänen
http://www.iki.fi/jks


--
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image 
processing features enabled. http://p.sf.net/sfu/kodak-com
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] problem with usetex \color

2009-05-12 Thread Jae-Joon Lee
As Jouni suggested, I guess the best chance here is to use phantom
command. Here is a little example.

rc('text', usetex=True)

p1, = plot([1,2,3])
legend([p1, p1, p1, p1],
   [rd = $\phantom{0}1$ m, d = $10$ m, d = $23$ m, d = $91$ m])

-JJ


On Tue, May 12, 2009 at 6:52 AM, Jouni K. Seppänen j...@iki.fi wrote:
 Sebastian Busch webmas...@thamnos.de writes:

 I would have liked to get an aligned legend, like

 d =  9m
 d = 10m

 In order to achieve that, i was trying to print a white (=invisible) 1
 whenever the number was smaller than 10 as spaceholder (I do not want to
 use a monospaced font).

 Does the \phantom trick work? I.e., r'd = \phantom{1}9m' or something
 like that?

 Obviously, this doesn't work any more as soon as you reach 20...

 Even if your font is not monospaced, it might have tabular figures:

 http://www.fonts.com/aboutfonts/articles/fyti/propvstabfigures.htm

 I think at least Computer Modern Roman (the default font in TeX) does
 have tabular figures.

 --
 Jouni K. Seppänen
 http://www.iki.fi/jks


 --
 The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
 production scanning environment may not be a perfect world - but thanks to
 Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
 Series Scanner you'll get full speed at 300 dpi even with all image
 processing features enabled. http://p.sf.net/sfu/kodak-com
 ___
 Matplotlib-users mailing list
 Matplotlib-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/matplotlib-users


--
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image 
processing features enabled. http://p.sf.net/sfu/kodak-com
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] problem with usetex \color

2009-05-11 Thread Jae-Joon Lee

 The resulting graph is not colored -- but in the directory
 ~/.matplotlib/tex.cache/ the text is green, both in the dvi and the png
 file!

 It therefore seems to me that this is not completely hopeless but I
 cannot figure out how to proceed.


As far as I know, in matplotlib, all the tex png output is treated as
grey  internally (the only exception I know of is ps backend, e.g.,
your example will show you a correct color if you save it as ps). I
guess this may have been a design decision.
As far as I can see, MPL currently does not support texts with varying
font properties (size, color, font).
One possible workaround for this could be using the latex typesetting
as you tried. However, supporting this within the current text
framework of matplotlib would be difficult and may not be a good idea.


However, I guess there are a few workarounds you may consider to use
(but unfortunately I think none of them are easy to work with). So, if
you describe where you intend to use multi-color text, I'll try to
give some example appropriate for your situation. Multi-color text in
figure title or simple annotation would be relatively simple.
Multi-color text in legend label seems to be more difficult, but
should be doable.

-JJ

--
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image 
processing features enabled. http://p.sf.net/sfu/kodak-com
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users