RE: Q: Print in different colors
- To: mathgroup at smc.vnet.net
- Subject: [mg27945] RE: [mg27930] Q: Print in different colors
- From: "David Park" <djmp at earthlink.net>
- Date: Sat, 24 Mar 2001 15:15:48 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Robert, You could do it this way: c = {RGBColor[1, 0, 0], RGBColor[0, 1, 0], RGBColor[0, 0, 1]}; SetOptions[Plot, PlotStyle -> c]; Plot[{Sin[1*x], Sin[2*x], Sin[3*x]}, {x, 0, Pi}] k = Table[StyleForm[i, FontColor -> c[[i]]], {i, 3}]; Print["k=", k]; You could also identify the curves with color right in the PlotLabel. When using colors, I always find it handy to use the Graphics`Colors` standard package. Then you could make a somewhat nicer plot this way. Needs["Graphics`Colors`"] c = {Red, SeaGreen, Blue}; f[i_][x_] := Sin[i*x] Plot[Evaluate[Table[f[i][x], {i, 3}]], {x, 0, Pi}, PlotStyle -> c, Frame -> True, FrameLabel -> {x, y}, ImageSize -> 500, Background -> Linen, PlotLabel -> SequenceForm @@ Table[StyleForm[f[i][x], FontColor -> c[[i]]]If[i == 3, "", ", "], {i, 3}]]; A third suggestion is to use the Legend package. Needs["Graphics`Legend`"] c = {Red, SeaGreen, Blue}; f[i_][x_] := Sin[i*x] Plot[Evaluate[Table[f[i][x], {i, 3}]], {x, 0, Pi}, PlotStyle -> c, Frame -> True, FrameLabel -> {x, y}, ImageSize -> 500, Background -> Linen, PlotLabel -> "Various Sin Functions", PlotLegend -> Table[f[i][x], {i,3}], LegendSize -> 0.5]; David Park djmp at earthlink.net http://home.earthlink.net/~djmp/ > From: Robert Schuerhuber [mailto:robert.schuerhuber at gmx.at] To: mathgroup at smc.vnet.net > > hello again! > some time again i managed it with the help of this group to cycle the > colors of a plot automatically, when i plot a list. i'm printing the > information about the curves below the plot, and it would be very > helpful if this information would be in the same color as the plot, > because sometimes its very hard to say which curve belongs to which > paramter. i'll give a simple example: > > c = {RGBColor[1, 0, 0], RGBColor[0, 1, 0], RGBColor[0,0,1]}; > SetOptions[Plot, PlotStyle -> c]; > Plot[{Sin[1 x],Sin[3 x],Sin[3 x]},{x,0,Pi}] > k={1,2,3}; > Print["k=",k]; > > so the three curves are plotted in red, green and blue, respectively, > and i'd like the "k"-list printed in the next line also to appear in the > same color, therefore "1" printed in red, "2" in green and "3" in blue. > is there a way to do this, it would really save me a lot of time! > > regards, robert > > > > >