Mathematica Mathematica PlotStyle->{color,color,color} not working

  • Thread starter Thread starter rynlee
  • Start date Start date
  • Tags Tags
    Mathematica
AI Thread Summary
The discussion centers on a Mathematica plotting issue where multiple complex functions in a list, `correlationList`, are intended to be plotted with distinct colors from a `ColorList`. However, all curves are rendered in the last color of the list. The problem was resolved by using the `Evaluate` function, which allows Mathematica to correctly interpret the list of functions for plotting. The final solution demonstrates the correct syntax to achieve the desired multi-colored plot.
rynlee
Messages
44
Reaction score
0
Hi All, running into a bit of a mathematica issue. I put the following code into plot:
Code:
Plot[Im[correlationList], {t, 0, timeEnd}, 
  PlotStyle -> ColorList]

correlationList is a list of complex functions that have been evaluated at t. It correctly plots all of them (if I change it to correlationList[[2]] for example it only plots the second function, etc., as is it plots all of the functions on the same plot)

(I've omitted PlotRange -> {Full, {-1, 1}}, ImageSize -> Large, from the above command, but that's in there too)

ColorList is a list of Hue[] evaluations, i.e.
Code:
In:ColorList
Out: {Hue[1/10],Hue[1/5],Hue[3/10],Hue[2/5],Hue[1/2],Hue[3/5],Hue[7/10],Hue[4/5],Hue[9/10],Hue[1]}

When I plot this however, it colors *all* of the curves the *last* color in the color list.

This behavior holds even when I change the PlotStyle term, for example if I use {Orange,Blue,Green} instead of ColorList, it plots *all* of the functions green, none orange or blue. So it always takes the last member of the list. I'm not sure why it's doing this.

I tried transposing ColorList (which I generate from an Array[0&,10] command, then filled in with a Do[] loop), but that just gave error messages.

Thanks for any help,

rynlee
 
Physics news on Phys.org
I'm thinking that you might need to Plot[{Im[correlationList[[1]]], ..., Im[correlationList[[n]]]}] rather than
Plot[Im[{correlationList[[1]], ..., correlationList[[n]]} ], if you get what I mean.

So what happens if you plot Evaluate[Im[correlationList]] instead?
Or first convert it to a list, e.g. plotting I am /@ correlationList?
 
yep the evaluate[] did it! Thanks!
 
The final function (just to show what it should look like if anyone else has the same problem):
 

Attachments

  • Prob 2Gi.jpg
    Prob 2Gi.jpg
    27.1 KB · Views: 644

Similar threads

Back
Top