Re: Using colored text in PlotLabel
- To: mathgroup at smc.vnet.net
- Subject: [mg120704] Re: Using colored text in PlotLabel
- From: A Retey <awnl at gmx-topmail.de>
- Date: Sat, 6 Aug 2011 02:11:39 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <201108031106.HAA10819@smc.vnet.net> <j1cn72$glt$1@smc.vnet.net>
Hi, > This does the trick: > > Plot[x^2, {x, -2, 2}, > PlotLabel -> Style["Hello", Blue] Style["\nHello", Red]] > > although I'm sure that there's a better way to combine the two strings. Written as such, this is a multiplication, which might behave very different from what you want (considering ordering, line breaks etc.). Since at least version 6 you can use arbitrary expressions as PlotLabels. To combine various parts you can use an appropriate combination of Row, Column and Grid: Plot[x^2, {x, -2, 2}, PlotLabel -> Column[{Style["Blue", Blue], Style["Red", Red]}]] You could also do something like this: Plot[{x, x^2}, {x, -2, 2}, PlotLabel -> Grid[{ {Graphics[{Red, Line[{{0, 0}, {1, 0}}]}, ImageSize -> {20, 20}], "linear"}, {Graphics[{Blue, Line[{{0, 0}, {1, 0}}]}, ImageSize -> {20, 20}], "quadratic"} }, Alignment -> {Left, Center}, Spacings -> 0], PlotStyle -> {Red, Blue}] > For some reason,<> doesn't seem to work on Styled strings. Style["hello",Blue] is not a styled string, it is an expression with head Style that the FrontEnd in StandardForm shows as blue text, see e.g.: Style["test", Blue] // FullForm Once that is clear, it's not such a big surprise that StringJoin doesn't like joining those expressions... hth, albert
- References:
- Using colored text in PlotLabel
- From: Andrew DeYoung <adeyoung@andrew.cmu.edu>
- Using colored text in PlotLabel