*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:

3Hmm... I'm almost positive I've seen this question asked here before, but I can't seem to find it... – David Z – 2012-02-14T07:26:36.710

4Yeah, this is very much an FAQ. – J. M.'s ennui – 2012-02-14T07:55:34.917