Re: Plotting in nested Manipulates
- To: mathgroup at smc.vnet.net
- Subject: [mg124630] Re: Plotting in nested Manipulates
- From: Chris Young <cy56 at comcast.net>
- Date: Fri, 27 Jan 2012 06:11:30 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <jfm07i$jtb$1@smc.vnet.net> <jforpv$6f9$1@smc.vnet.net>
Thanks very much, that fixes the problem. On 2012-01-25 12:15:59 +0000, A Retey said: > I think With is o.k., you are missing a Dynamic for the ListLinePlot, > otherwise the ListLinePlot is evaluated too early, when the c[i] don't > have values yet, and it will never be updated later: > > Manipulate[ > With[{ > contents = > With[{values = Table[c[i], {i, 1, n}]}, > Column[{values, Dynamic[ListLinePlot[values]]}] > ], > controls = Sequence @@ Table[{{c[i], i*0.1}, 0, 1, 0.1}, {i, 1, n}] > }, > Manipulate[contents, controls]], > {n, 4, 10, 1} > ] > > Now if you wonder why that is not necessary for the values in the first > row of Column: ListLinePlot is a function that generates a Graphics, and > that Graphics will not contain any of the c[i] anymore, since > ListLinePlot dismissed the nonnumerical values. The following will > create the graphics directly, and thus will be happy without the Dynamic: > > Clear[c]; > > Manipulate[ > With[{ > contents = With[{values = Table[c[i], {i, 1, n}]}, > Column[{ > values, > Graphics[{Blue, > Line[Table[{k, values[[k]]}, {k, Length[values]}]]}, > Frame -> True, AspectRatio -> 1/GoldenRatio] > }] > ], > controls = Sequence @@ Table[{{c[i], i*0.1}, 0, 1, 0.1}, {i, 1, n}] > }, > Manipulate[contents, controls]], > {n, 4, 10, 1} > ] > > > hth, > > albert