Re: Using colored text in PlotLabel
- To: mathgroup at smc.vnet.net
- Subject: [mg120715] Re: Using colored text in PlotLabel
- From: Heike Gramberg <heike.gramberg at gmail.com>
- Date: Sun, 7 Aug 2011 06:14:41 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <201108060613.CAA13031@smc.vnet.net>
You can also use Column and get rid of the \n's: ListPlot[RandomReal[1, {50}], PlotRange -> All, Joined -> True, AxesLabel -> {"t (ps)", "(kcal/mol)"}, PlotLabel -> Column[{"Total Energy", Style["Red: Velocity-Verlet", Red], Style["Green:Leapfrog", Green], Style["Blue: Accurate Velocity-Verlet", Blue]}, Center], PlotStyle -> {Pink, Red, Green, Darker[Green], Cyan, Blue}, ImageSize -> 400] You can automatically print the labels in the PlotStyle colours by doing something like colours = {Pink, Red, Green, Darker[Green], Cyan, Blue}; labels = {"Label 1", "Label 2", "Label 3", "Label 4"}; ListPlot[RandomReal[{0, 1}, {4, 50}] + Range[4], PlotRange -> All, Joined -> True, AxesLabel -> {"t (ps)", "(kcal/mol)"}, PlotLabel -> Column[Prepend[ MapThread[ Style, {labels, PadRight[colours, Length[labels], colours]}], "Plot Title"], Center], PlotStyle -> colours, ImageSize -> 400] Heike On 6 Aug 2011, at 08:13, Chris Degnen wrote: > You can use Row to join styled strings: > > ListPlot[{Table[Random[], {50}]}, > PlotRange -> All, Joined -> True, AxesLabel -> {"t (ps)", "(kcal/mol)"}, > PlotLabel -> Row[{"Total Energy\n", > Style["Red: Velocity-Verlet\n", Red], > Style[ "Green:Leapfrog\n", Green], > Style["Blue: Accurate Velocity-Verlet\n", Blue]}], > PlotStyle -> {Pink, Red, Green, Darker[Green], Cyan, Blue}, > ImageSize -> 400] > > > Robert Rosenbaum wrote: >> >> 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. >> For some reason, <> doesn't seem to work on Styled strings. >> >> >> >> On Aug 3, 2011, at 6:06 AM, Andrew DeYoung wrote: >> >>> Hi, >>> >>> I often use Mathematica 7 to display data, using ListPlot. Since I >>> end up creating plots containing lots of colored lines, it would be >>> helpful if I could color the text that I display above my plots using >>> PlotLabel. Do you know if there is a way to do this without having to >>> resort to the Plot Legends Package, which I sometimes find somewhat >>> cumbersome to use (because I often end up having to spend a lot of >>> time positioning the legend so that it does not cover my plot lines)? >>> >>> If you have time, I have plotted an example plot of mine here: >>> http://www.andrew.cmu.edu/user/adeyoung/august2/august2.jpg >>> >>> In that plot, I have created the title using PlotLabel. Specifically, >>> I used the following Mathematica commands: >>> >>> ListPlot[ >>> {{energies1eq[[1]], fp*energies1eq[[7]]}\[Transpose], {20 + >>> energies1md[[1]], fp*energies1md[[7]]}\[Transpose], >>> {energies2eq[[1]], fp*energies2eq[[7]]}\[Transpose], {20 + >>> energies2md[[1]], fp*energies2md[[7]]}\[Transpose], >>> {energies3eq[[1]], fp*energies3eq[[7]]}\[Transpose], {20 + >>> energies3md[[1]], fp*energies3md[[7]]}\[Transpose]}, >>> PlotRange->All,Joined->True,AxesLabel->{"t (ps)","(kcal/ >>> mol)"},PlotLabel->"Total Energy\nRed: Velocity-Verlet\nGreen: Leapfrog >>> \nBlue: Accurate Velocity-Verlet\n",PlotStyle- >>>> {Pink,Red,Green,Darker[Green],Cyan,Blue},ImageSize->imgSize] >>> >>> Do you know how to make my title that says, for example, "Red: ", >>> actually red? >>> >>> Thank you very much for your time! >>> >>> Andrew DeYoung >>> Carnegie Mellon University >>> >> >> >> Best, >> Robert >> >> >> >> >> >> > >
- References:
- Re: Using colored text in PlotLabel
- From: "Chris Degnen" <degnen@cwgsy.net>
- Re: Using colored text in PlotLabel