MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Locator in Manipulate's graphic.

I believe this is the same issue I once had that was answered in this 
group by John Fultz [mg8009].  I don't have his direct reply, but here's 
a response I sent [mg80037] that includes his explanation:

I'm still not sure I completely understand....

OK, as I can see, the locator is a large, framed, red rectangle when I use


but why, given the option LocatorAutoCreate->All, don't I then see a
bunch of large, framed, red rectangles when I click to create new
points? Is it just that the new "points" are really there but I cannot
see them, that I can only see the one "point" that's on top because I
created it last?

John Fultz wrote:
 > On Fri, 10 Aug 2007 01:45:30 -0400 (EDT), Murray Eisenberg wrote:
 >> Here's a LocatorPane inside a DynamicModule with a Locator initialized
 >> at the origin and where additional Locator points will be created at
 >> mouse clicks:
 >> dot=Automatic;
 >> DynamicModule[{pts = {{0, 0}}},
 >> LocatorPane[Dynamic[pts],
 >> Graphics[Point /@ pts],
 >> Appearance -> dot,
 >> LocatorAutoCreate -> All]
 >> ]
 >> This works as expected. (The setting Automatic for Appearance is the
 >> default.)
 >> Now change the definition of dot to:
 >> dot=Graphics[Disk[],ImageSize->5]
 >> Still OK. But, finally, change the defintion of dot to:
 >> Graphics[{PointSize[Medium],Point[{0,0}]}]
 >> Now it does NOT work as expected: Although the initialized points do
 >> appear correctly, and a new dot appears at the first click in the
 >> output, upon each additional click a new dot does not appear but,
 >> instead, that one new dot moves to the location of the click.
 >> Diagnosis? Cure?
 > This is correct behavior. If you change dot to be...
 > dot = Graphics[{PointSize[Medium], Point[{0, 0}]}, Background -> Red,
 > Frame -> True]
 > ...and play around with the result, the reason for the behavior 
should start to
 > be come obvious. The default size of a Graphics[] object is the size 
of the
 > graphic. And the entire graphics object represents the Locator, so 
all you're
 > doing is moving the existing Locator (as you should correctly do when 
 > directly on a Locator), rather than creating a new one. The only 
reason the
 > Disk[] example worked as you expected is because you set the 
ImageSize to be so
 > small, which affected the size of not just the disk, but the Locator 

W. Craig Carter wrote:
> Can anyone see a way to change the Locator's appearance in 
> Manipulate.
> i.e., from the documentation:
> Manipulate[
>   Graphics[Line[{{0, 0}, p}], PlotRange -> 2], {{p, {1, 1}}, 
> Locator}]
> I've tried the "obvious generalization":
> Manipulate[
> Line[{{0, 0}, p}], PlotRange -> 2], {{p, {1, 1}},
> (Locator[#,Appearance->Graphics[Circle[#,2]])&}]
> without success. Any ideas?
> W. Craig Carter

Murray Eisenberg                     murray at
Mathematics & Statistics Dept.
Lederle Graduate Research Tower      phone 413 549-1020 (H)
University of Massachusetts                413 545-2859 (W)
710 North Pleasant Street            fax   413 545-1801
Amherst, MA 01003-9305

  • Prev by Date: Re: Re: How to do count for sub list?????
  • Next by Date: Re: Evaluation question
  • Previous by thread: Locator in Manipulate's graphic.
  • Next by thread: Re: Locator in Manipulate's graphic.