# Plotting a region with polar axes

I'd want to plot the region of points which satisfy the following equation:

2 < r <= 5 && 3/4 π < θ <= 5/4 π


I have been able to plot the region in Cartesian coordinates:

h[r_, θ_] := 2 < r <= 5 && 3/4 π < θ < 5/4 π
RegionPlot[h[Sqrt[x^2 + y^2], ArcTan[x, y]], {x, -6, 6}, {y, -6, 6}, PlotPoints -> 100]


I would like to plot the region with polar axes, but I don't think I can make PolarPlot plot a region probably.

• As mentioned in the PolarPlot docs (Properties & Relations section), PolarPlot is a special case of ParametricPlot for curves, and (though perhaps unsuitable for your application), you can plot regions with ParametricPlot, e.g. ParametricPlot[r {θ Cos[θ], θ Sin[θ]}, {θ, 0, 4 Pi}, {r, 1, 1.5}, Mesh -> False] Commented Aug 28, 2014 at 8:31

Update

Compare two pictures. First is able to make mistake like you made the code.

You need to do like this code using Mod[ArcTan[x, y], 2π].

h[r_,θ_] := 2 < r <= 5 && 3/4 π < θ < 3/2 π
RegionPlot[
h[Sqrt[x^2 + y^2], Mod[ArcTan[x, y], 2π]], {x, -6, 6}, {y, -6, 6}]


So I suggest to use ParametricPlot like this.

rg = 6; mg = 3;

ParametricPlot[{r Cos[θ], r Sin[θ]}, {r, 2, 5}, {θ, 3/4 π, 5/4 π},
Frame -> False, Axes -> False,
PlotRange -> {-rg - mg, rg + mg},
Epilog -> PolarPlot[rg, {θ, 0, $MachineEpsilon}, PolarAxes -> True, PolarGridLines -> {Automatic, Range[rg]}, PolarTicks -> {Drop[Table[i, {i, 0, 2 Pi, Pi/8}], -1], Automatic}][[1]] ]  Origin This is my trick. I used option Epilog. RegionPlot[ h[Sqrt[x^2 + y^2], ArcTan[x, y]], {x, -6, 6}, {y, -6, 6}, Frame -> False, PlotPoints -> 30, Epilog -> PolarPlot[5, {\[Theta], 0,$MachineEpsilon},
PolarAxes -> True,
PolarGridLines -> Automatic,
PolarTicks -> {"Degrees", Automatic}][[1]]
]


And I tried also PolarTicks like this.

PolarTicks -> {Drop[Table[i, {i, 0, 2 Pi, Pi/4}], -1], Automatic}


PolarGridLines Usage

RegionPlot[
h[Sqrt[x^2 + y^2], ArcTan[x, y]], {x, -6, 6}, {y, -6, 6},
Frame -> False, PlotPoints -> 30,
Epilog -> PolarPlot[6, {\[Theta], 0, $MachineEpsilon}, PolarAxes -> True, PolarGridLines -> {Automatic, Range[6]}, PolarTicks -> {Drop[Table[i, {i, 0, 2 Pi, Pi/4}], -1], Automatic}][[1]] ]  • How can I get coordinates from 0 to 6 instead of 0 to 5? Changing the 5 in PolarPlot to 6 produces this graphic, where the region isn't correct: i.imgur.com/7HYupnR.png Commented Aug 28, 2014 at 11:08 • Modify the ticks numbers. If you make number 6 of the ticks then it looks good for that. Commented Aug 28, 2014 at 11:17 • I tried RegionPlot[h[Sqrt[x^2+y^2],ArcTan[x,y]],{x,-6,6},{y,-6,6},Frame->False,PlotPoints->30,Epilog->PolarPlot[6,{\[Theta],0,$MachineEpsilon},PolarAxes->True,PolarGridLines->Automatic,PolarTicks->{"Degrees",Range[0,6]}][[1]]] which doesn't work. What do you mean exactly? Commented Aug 28, 2014 at 11:38
• @Tyilo Sorry, Use option PolarGridLines like posted upper adding one. Commented Aug 28, 2014 at 12:01