Re: Why are both locators moving?

*To*: mathgroup at smc.vnet.net*Subject*: [mg115258] Re: Why are both locators moving?*From*: John Fultz <jfultz at wolfram.com>*Date*: Wed, 5 Jan 2011 05:48:09 -0500 (EST)

Looks like a bug to me. You can work around it, though, and even make the code a bit less tortured in the process, by using LocatorPane[]. p1 == {0, 0} p2 == {0, 1} LocatorPane[Dynamic[{p1, p2}], Dynamic[a == p1;(*condition 1*) Show[Plot[Cos[b], {b, 1, 2}],(*condition 2*) Graphics[Line[{{0, 0}, {1, 1}}]], PlotRange -> {{-10, 10}, {-1, 1}}, Axes -> True, AspectRatio -> 1]]] Dynamic[{p1, p2}] Sincerely, John Fultz jfultz at wolfram.com User Interface Group Wolfram Research, Inc. On Tue, 4 Jan 2011 18:49:50 -0500 (EST), Dims wrote: > In the code below I expect that locators can be moved independently, > but actually locator p1 causes locator p2 to move too if both > conditions occure: > > 1) any "Plot" instruction presents within Show > 2) a==p1; presents within Dynamic > > p1 == {0, 0} > p2 == {0, 1} > Dynamic[ > a == p1; (* condition 1 *) > Show[ > Plot[Cos[b],{b,1,2}], (* condition 2 *) > Graphics[Line[{{0, 0}, {1, 1}}]], > Graphics[Locator[Dynamic[p1]]], > Graphics[Locator[Dynamic[p2]]], > PlotRange -> {{-10, 10}, {-1, 1}}, Axes -> True, AspectRatio -> 1 > ] > ] > > My question is: why? Is it a bug or by-design behavior? Where is the > value for p2 assigned? > > How to make both locators move independently along with plot?