Re: Plotting Locators with Color
- To: mathgroup at smc.vnet.net
- Subject: [mg118147] Re: Plotting Locators with Color
- From: "Alexander Elkins" <alexander_elkins at hotmail.com>
- Date: Thu, 14 Apr 2011 04:50:06 -0400 (EDT)
- References: <io17da$i4a$1@smc.vnet.net>
The appearance of the default locator is defined in "SystemFiles\FrontEnd\TextResources\MiscExpressions.tr". There are two default definitions, "LocatorDefaultThumb" and "LocatorDefaultThumbDisabled", the one that is chosen depends on the locator's Enabled option. You can use: InputForm[ ToExpression[ StringReplace[ ToString[ CurrentValue[ FEPrivate`FrontEndResource["FEExpressions", "LocatorDefaultThumb"]][[1, 1, 1]]], "Box" -> ""]]] to get the basic locator appearance to start with: Graphics[{{AbsoluteThickness[1], Antialiasing -> False, Line[{{{0, -10}, {0, -2}}, {{0, 2}, {0, 10}}, {{-10, 0}, {-2, 0}}, {{2, 0}, {10, 0}}}], Antialiasing -> True, Circle[{-0.5, 0.5}, 5]}, {AbsoluteThickness[3], Opacity[0.3], Circle[{-0.5, 0.5}, 3]}}, ImageSize -> 17, PlotRange -> {{-8, 8}, {-8, 8}}] Here is your example using colored locators: Needs["Splines`"] Manipulate[ LocatorPane[pts; Dynamic@pts, Dynamic@Graphics[{Spline[pts, Bezier]}, Axes -> True, AxesLabel -> {x, y}, PlotRange -> {{-3, 3}, {-3, 3}}, Background -> LightOrange], Appearance -> Table[Graphics[{c, {AbsoluteThickness[1], Antialiasing -> False, Line[{{{0, -10}, {0, -2}}, {{0, 2}, {0, 10}}, {{-10, 0}, {-2, 0}}, {{2, 0}, {10, 0}}}], Antialiasing -> True, Circle[{-0.5, 0.5}, 5]}, {AbsoluteThickness[3], Opacity[0.3], Circle[{-0.5, 0.5}, 3]}}, ImageSize -> 17, PlotRange -> {{-8, 8}, {-8, 8}}], {c, {Blue, Red, Green, Brown}}]], {{pts, {{0, 0}, {0, 2}, {2, 0}, {2, 2}}}, {-3, -3}, {3, 3}, ControlType -> None}, SaveDefinitions -> True, Initialization :> {Needs["Splines`"]}, AutorunSequencing -> {2}] Please note the same result can be achieved in Manipulate without using LocatorPane and Dynamic as follows: Needs["Splines`"] Manipulate[ Graphics[{Spline[pts, Bezier]}, Axes -> True, AxesLabel -> {"x", "y"}, PlotRange -> 3, Background -> LightOrange], {{pts, {{0, 0}, {0, 2}, {2, 0}, {2, 2}}}, Locator, Appearance -> Table[Graphics[{c, {AbsoluteThickness[1], Antialiasing -> False, Line[{{{0, -10}, {0, -2}}, {{0, 2}, {0, 10}}, {{-10, 0}, {-2, 0}}, {{2, 0}, {10, 0}}}], Antialiasing -> True, Circle[{-0.5, 0.5}, 5]}, {AbsoluteThickness[3], Opacity[0.3], Circle[{-0.5, 0.5}, 3]}}, ImageSize -> 17, PlotRange -> {{-8, 8}, {-8, 8}}], {c, {Blue, Red, Green, Brown}}]}] Enjoy! "Bill" <WDWNORWALK at aol.com> wrote in message news:io17da$i4a$1 at smc.vnet.net... > Hi: > > I'm using Mathematica 8.0.1. on a PC with the following code: > > Manipulate[ > LocatorPane[pts; Dynamic@pts, > Dynamic@Graphics[{Spline[pts, Bezier]}, Axes -> True, > AxesLabel -> {x, y}, PlotRange -> {{-3, 3}, {-3, 3}}, > Background -> LightOrange]], {{pts, {{0, 0}, {0, 2}, {2, 0}, {2, > 2}}}, {-3, -3}, {3, 3}, ControlType -> None}, > SaveDefinitions -> True, Initialization :> {Needs["Splines`"]}, > AutorunSequencing -> {2}] > > How can I plot this with each locator plotted in a different color? > > > Thanks, > > Bill >