# PlotStyle does not work when plotting a non-evaluated list of functions [duplicate]

This question already has an answer here:

When a list of functions is passed to Plot in an unevaluated form (e.g. with Through), the result is a plot with single color.

Plot[Through[{Sin, Cos, Tan}[t]], {t, 0.01, 10.5}, PlotStyle -> {Red, Blue, Green}] However, the same list of functions, listed explicitly, gives color as expected.

Plot[{Sin[t], Cos[t], Tan[t]}, {t, 0.01, 10.5}, PlotStyle -> {Red, Blue, Green}] ## marked as duplicate by Mr.Wizard♦Aug 5 '13 at 6:59

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

• Plot has attribute HoldAll. So, it has "the right" to not work when you don't explicitly pass it a list. Try using Evaluate@Through..., or, better still, add the undocumented option Evaluated->True – Rojo Jan 5 '13 at 6:50
• @Rojo Ups ... I saw your comment after posting – Dr. belisarius Jan 5 '13 at 6:53
• @belisarius, it's ok, I wasn't going to post it, glad you did – Rojo Jan 5 '13 at 6:54
• – rm -rf Jan 5 '13 at 7:00
• @Hypnotoad if it's a dupe I don't think it's of that one. The best answer here, assuming he's implicitly asking how and not why, is to use Evaluated, and that isn't relevant or even mentioned in the linked question – Rojo Jan 5 '13 at 7:03

## 1 Answer

a[x_, y_, z_] := z; b[x_, y_, z_] := z 2; c[x_, y_, z_] := z 3;
Plot[Through[{a, b, c}[10, 3, t]], {t, 0.01, 10.5},
PlotStyle -> {Red, Blue, Green}, Evaluated -> True] • Maybe one could add here that if you plan to do many such plots it's also convenient to put this at the beginning of the notebook: SetOptions[Plot,Evaluated->True]; Then you can leave out the Evaluated option in all the subsequent plots. – Jens Jan 5 '13 at 17:10