Re: ListLinePlot[] inside a loop
- To: mathgroup at smc.vnet.net
- Subject: [mg82382] Re: ListLinePlot[] inside a loop
- From: Szabolcs Horvát <szhorvat at gmail.com>
- Date: Fri, 19 Oct 2007 04:52:59 -0400 (EDT)
- References: <ff789h$nrs$1@smc.vnet.net>
Luiz Melo wrote:
> Hi mathgroup,
>
> Why is the plot of a list not displayed when ListLinePlot[] is used inside a Do
> loop (Mathematica 6.0)?
> For instance, suppose we want to produce the graphics of Sin[i*x] as a function
> of x, each time i is iterated from 1 to 3 (in steps of 1). I naively tryed:
>
> Do[ListLinePlot[Table[{x, Sin[i*x Degree]}, {x, 0, 360}],
> PlotRange -> {{0, 360}, {-1.1, 1.1}}], {i, 1, 3}];
In Mathematica 6, graphics are like any other value. Instead of being
drawn as a side effect, they are simply /returned/ by plotting
functions. Do[] always returns Null, so replace it with Table and
remove the ; from the end. You might want to wrap the output in Column[] :
Table[ListLinePlot[Table[{x, Sin[i*x Degree]}, {x, 0, 360}],
PlotRange -> {{0, 360}, {-1.1, 1.1}}], {i, 1, 3}] // Column
> The specifications "For[]" and "While[]" don't work either.
While[] and For[] are better avoided in Mathematica. If you really
insist on using such functions, then try
Do[Print@ListLinePlot[Table[{x, Sin[i*x Degree]}, {x, 0, 360}],
PlotRange -> {{0, 360}, {-1.1, 1.1}}], {i, 1, 3}]
--
Szabolcs