3
$\begingroup$

can anyone please help me with ListPolarPlot? I have these data

data = {{-114.95, 10.35}, {-110.0, 12.57}, {-105.0, 15.39}, {-100.0, 18.94}, {-95.0, 23.44}, {-90.0, 29.22}, {-85.0, 37.2}, {-80.0, 46.8}, {-75.0, 57.5}, {-70.0, 68.4}, {-65.0, 78.9}, {-60.0, 88.4}, {-55.0, 97.6}, {-50.0, 107.2}, {-45.0, 117.9}, {-40.0, 129.3}, {-35.0, 140.5}, {-30.05, 150.3}, {-25.0, 158.1}, {-20.0, 163.7}, {-15.05, 167.3}, {-10.0, 169.3}, {-5.0, 170.3}, {-0.05, 170.4}, {4.95, 169.4}, {9.95, 167.2}, {14.95, 163.5}, {19.95, 158.0}, {24.95, 150.2}, {30.0, 140.1}, {34.95, 128.4}, {39.95, 116.2}, {44.95, 104.8}, {49.95, 94.5}, {54.95, 84.8}, {59.95, 74.9}, {64.95, 64.5}, {69.95, 53.8}, {74.95, 43.4}, {79.95, 34.0}, {84.95, 26.5}, {89.95, 21.25}, {94.95, 17.22}, {99.95, 13.98}, {104.95, 11.39}, {109.95, 8.49}, {114.95, 6.89}}

I have managed to create a ListPolarPlot using

data2 = {#[[1]]*Pi/180, #[[2]]} & /@ data

and

ListPolarPlot[data2, PolarAxes -> True, PolarTicks -> {"Degrees", Automatic}, Joined -> True, PolarGridLines -> True]

enter image description here

The thing is I need to have 0° at bottom of the plot (where now is 270°). Does anyone know, how to rotate it?

Thank you.

Walter

$\endgroup$
2
  • $\begingroup$ Possible Duplicate: mathematica.stackexchange.com/questions/58286/… $\endgroup$ Commented Mar 18, 2017 at 11:49
  • $\begingroup$ @AnjanKumar does not work for me. When i try rotatePolar[a_List] := Module[{l = Length[a]}, Table[{2 Pi*(i - 1)/l + Pi/2, a[[i]]}, {i, l}]] ListPolarPlot[rotatePolar[data2], PolarAxes -> True, PolarGridLines -> True, PolarAxesOrigin -> {Pi/2, 200}, PolarTicks -> {Drop[ Table[{i, Mod[i - 270 Degree, 360 Degree]}, {i, 0, 360 Degree, 15 Degree}], -1], Automatic}] then the axes are correctly oriented, 0° is at bottom of the Plot, but the plot is blank, no data shown. Do you know where might be problem? Thanks $\endgroup$ Commented Mar 18, 2017 at 12:56

1 Answer 1

2
$\begingroup$

To get the rotated plot, we have to change the ticks of ListPolarPlot using PolarTicks, and the data points by 270 deg.

data2 = {(#[[1]] + 270)*Pi/180, #[[2]]} & /@ data; 
ListPolarPlot[data2, PolarAxes -> True, 
 PolarTicks -> {Drop[
    Table[{i, Mod[i - 270 Degree, 360 Degree]}, {i, 0, 360 Degree, 
      15 Degree}], -1], Automatic}, Joined -> True, 
 PolarGridLines -> True]

enter image description here

I hope this is what you want.

$\endgroup$
1
  • $\begingroup$ Brilliant, thank you very much! $\endgroup$ Commented Mar 19, 2017 at 6:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.