# How to rotate a graph with a locator?

Manipulate[
Graphics[Rotate[Line[{{0, 0}, p}], \[Theta], {0, 0}],
PlotRange -> 2], {{p, {1, 1}}, Locator}, {\[Theta], 0, 2 \[Pi]}]


I want to rotate a graph including a locator. The line rotated as expected, but the locator didn't rotate with the line. How can I do to rotate the whole graph? • Rotate a graph? What graph? Nov 17 '17 at 20:00
• @David, I drew a line with Locator, when I rotated the graph, the locator didn't move. I want to rotate the graph including the locator. Is there anyway to do it? Thanks for your help. Nov 19 '17 at 2:36
• Again: Rotate a graph? WHAT graph? Nov 19 '17 at 16:38
• @David I post code in my question to show what I want Nov 20 '17 at 13:26
• But your title says "graph" and there is no graph whatsoever. Please fix your title (at the very least). Nov 20 '17 at 17:46

(1) You can use Locator as a graphics primitive and rotate all the graphics primitives, and
(2) use ExperimentalAngularSlider to control the angle:

Manipulate[Graphics[Rotate[{Line[{{0, 0}, p}], Locator[Dynamic[p]]}, θ, {0, 0}],
PlotRange -> 2, ImageSize -> Small],
{{p, {1, 0}}, None},
{{θ, 0, ""}, 0, 2 π, Labeled[ExperimentalAngularSlider[#, {0, 2 Pi},
ExperimentalBoundaryAction -> None], Row[{"θ = ", #}], Top] &},
Deployed -> True] To prevent the locator from going out of plot area after rotation, we can use the second argument of Dynamic to restrict the locator to stay within a disk of radius 2:

Manipulate[Graphics[Rotate[{Line[{{0, 0}, p}],
AbsolutePointSize, Red, Point[p],
Locator[Dynamic[p, (p = If[Norm[#] < 2, #, 2 Normalize[#]];) &], None]},
θ, {0, 0}], PlotRange -> 2,  ImageSize -> Small],
{{p, {1, 0}}, None},
{{θ, 0, ""}, 0, 2 π, Labeled[ExperimentalAngularSlider[#, {0, 2 Pi},
ExperimentalBoundaryAction -> None], Row[{"θ = ", #}], Top] &},
Deployed -> True] Update: If you want the two controls linked so that the angle is updated as the locator moves, change Locator[...] to

Locator[Dynamic[p, (p = If[Norm[#] < 2, #, 2 Normalize[#]]; θ = ArcTan @@ p) &], None]

• +1 for the usage of ExperimentalAngularSlider wow!! Why does it turn black at certain points? Mar 4 '20 at 21:02
• @CATrevillian, i think it is an artifact of the screen shot image (I use ScreenToGif gif generator).
– kglr
Mar 4 '20 at 21:14
• I've never heard of ExperimentalAngularSlider before, that's solve my problem perfectly which I had gave up long time ago, thank you very much. Mar 5 '20 at 12:32
• @pmzhu, my pleasure. Thank you for the accept.
– kglr
Mar 5 '20 at 12:38
Manipulate[
Rotate[Graphics[Plot[x^2, {x, 0, 5}]], r = ArcTan[r1[]/r1[]]],
{{r1, {1, 1}}, Locator}]
`