Re: [Matplotlib-users] multi colored text

2013-10-30 Thread Sterling Smith

On Oct 30, 2013, at 7:47AM, Scott Lasley wrote:

> 
> On Oct 30, 2013, at 10:14, Neal Becker  wrote:
> 
>> I have a blue line plot and a green line plot.  I'd like to add some figtext 
>> at 
>> the bottom, and I'd like the text colors to match the plot colors.  So I'd 
>> have 
>> some text in blue and some in green.
>> 
>> figtext only allows one color
>> 
>> I could use 2 figtext, but then I have to manually find coordinate positions 
>> for 
>> the text.  That's ugly.
>> 
>> It would be nice if we had a TeX-like approach, where I could create a green 
>> text object and a blue text object, then assemble them by stacking boxes.
>> 
>> Any ideas?
> 
> I'm not sure it's the best approach, but I've used HPacker (or VPacker if you 
> want more than one line) to do this


I have taken this approach as well. See part of my answer at 
http://stackoverflow.com/questions/17086847/box-around-text-in-matplotlib/17092777#17092777
--
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] multi colored text

2013-10-30 Thread Scott Lasley

On Oct 30, 2013, at 10:14, Neal Becker  wrote:

> I have a blue line plot and a green line plot.  I'd like to add some figtext 
> at 
> the bottom, and I'd like the text colors to match the plot colors.  So I'd 
> have 
> some text in blue and some in green.
> 
> figtext only allows one color
> 
> I could use 2 figtext, but then I have to manually find coordinate positions 
> for 
> the text.  That's ugly.
> 
> It would be nice if we had a TeX-like approach, where I could create a green 
> text object and a blue text object, then assemble them by stacking boxes.
> 
> Any ideas?

I'm not sure it's the best approach, but I've used HPacker (or VPacker if you 
want more than one line) to do this

from matplotlib.offsetbox import HPacker
from matplotlib.offsetbox import VPacker
from matplotlib.offsetbox import TextArea
from matplotlib.offsetbox import AnchoredOffsetbox

plot([1,2,3,4,5])
wloc = TextArea('WIND XYZ=()', textprops=dict(color="r", size=12))
sloc = TextArea('SOHO XYZ=()', textprops=dict(color="k", size=18))
txt1 = HPacker(children=[wloc, sloc], align="baseline", pad=0, sep=12)
txt2 = VPacker(children=[wloc, sloc], align="baseline", pad=0, sep=30)
bbox = AnchoredOffsetbox(loc=1.0, pad=0, borderpad=0,
 bbox_to_anchor=(0.8, 0.10),
 bbox_transform=gca().transAxes,
 child=txt1,
 frameon=False)
gca().add_artist(bbox)
bbox = AnchoredOffsetbox(loc=1.0, pad=0, borderpad=0,
 bbox_to_anchor=(0.4, 0.80),
 bbox_transform=gca().transAxes,
 child=txt2,
 frameon=False)
gca().add_artist(bbox)



--
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] multi colored text

2013-10-30 Thread Paul Ivanov
Hi Neal,

Neal Becker, on 2013-10-30 10:14,  wrote:
> I have a blue line plot and a green line plot.  I'd like to add some figtext 
> at 
> the bottom, and I'd like the text colors to match the plot colors.  So I'd 
> have 
> some text in blue and some in green.
> 
> figtext only allows one color
> 
> I could use 2 figtext, but then I have to manually find coordinate positions 
> for 
> the text.  That's ugly.
> 
> It would be nice if we had a TeX-like approach, where I could create a green 
> text object and a blue text object, then assemble them by stacking boxes.

You should be able to follow the approach I've taken here in
stacking the text bounding boxes together:

 https://github.com/matplotlib/matplotlib/issues/697

best,

-- 
   _
  / \
A*   \^   -
 ,./   _.`\\ / \
/ ,--.S\/   \
   /  `"~,_ \\
 __o   ?
   _ \<,_ /:\
--(_)/-(_).../ | \
--...J
Paul Ivanov
http://pirsquared.org

--
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users