[Date Index]
[Thread Index]
[Author Index]
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**
| |