       Re: Plot question

• To: mathgroup at smc.vnet.net
• Subject: [mg80864] Re: Plot question
• From: Szabolcs <szhorvat at gmail.com>
• Date: Tue, 4 Sep 2007 06:33:08 -0400 (EDT)
• Organization: University of Bergen
• References: <fbj2c3\$nc9\$1@smc.vnet.net>

```Yaroslav Bulatov wrote:
> Why does the plot below make all 3 curves the same color?
>
> Plot[{a x, 2 a x, 3 a x} /. a -> 2, {x, 1, 2},
>  PlotStyle -> {Red, Green, Blue}]

This is one of the most common questions on MathGroup.  The example you
gave doesn't even work in Mathematica 5.2, because

"Plot::plnr  {a x, 2 a x, 3 a x} /. a -> 2 is not a machine-size real
number at x = some value"

It is not a number but a list of numbers.  But since Plot holds its
first argument, and '{a x, 2 a x, 3 a x} /. a -> 2' is a single
expression (not a list of expressions), Mathematica expects it to
evaluate to a single number (not a list).

Probably it wasn't such a good idea to make this example work in
Mathematica 6.  The incorrect colouring just confuses users, and there
is no error message with a hint about what has gone wrong.

The solution is to evaluate '{a x, 2 a x, 3 a x} /. a -> 2' before
passing it to Plot[] :

Plot[{a x, 2 a x, 3 a x} /. a -> 2 // Evaluate, {x, 1, 2}, PlotStyle ->
{Red, Green, Blue}]

Szabolcs

```

• Prev by Date: Re: plotting equations with units
• Next by Date: double integral of long expression in Mathematica
• Previous by thread: Re: Plot question
• Next by thread: Re: Plot question