Mathematica 10 update
It seems that now Plot
specifically recognizes Sequence
which invalidates the example given below, but not its premise. If one uses a different head that behaves similarly the behavior is still exhibited:
Plot[{1, ## &[2, 3], 4}, {x, 0, 1}, PlotRange -> {0, 5}, PlotStyle -> Thick]
Or:
f[x__] := x
Plot[{1, f[2, 3], 4}, {x, 0, 1}, PlotRange -> {0, 5}, PlotStyle -> Thick]
Or:
Plot[{1, {2, 3} /. {x__} :> x, 4}, {x, 0, 1}, PlotRange -> {0, 5}, PlotStyle -> Thick]
Analysis
Plot
builds style lists based on the apparent structure of the first argument it is given, before evaluation. List
is recognized and elements are styled individually, while generic functions like Table
are styled as a whole.
You can see this behavior here, where Sequence
acts as a "generic head":
Plot[
{1, Sequence[2, 3], 4}, {x, 0, 1},
PlotRange -> {0, 5},
PlotStyle -> Thick
]
On the other hand sub-lists are recognized and styled:
Plot[
{1, {2, 3}, 4}, {x, 0, 1},
PlotRange -> {0, 5},
PlotStyle -> Thick
]
You can read my own question about this and Sasha's excellent answer (starting from EDIT 2).
Recommended form for evaluation
I recommend that you use the option Evaluated -> True
rather than Evaluate
as it (still) localizes the plot variable. See: