Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

Is it possible to have ListPolarPlot start plotting at the vertical axis? By Default ListPolarPlot gives this result:

ListPolarPlot[Reverse[Range[20]], PolarAxes -> True, 
 PolarTicks -> {"Degrees", Automatic}]

enter image description here

But I want it to look like this (rotated with Rotate[%,1/2pi]: enter image description here

Just rotating the graphic probably is the easiest way, but adding ticks and legends is a crime... I am hoping for a way to simply set the starting angle.

Specifying angles at each data point and adding 1/2pi does not solve my problem because the angles in the PolarAxes would be off.

share|improve this question

1 Answer 1

up vote 6 down vote accepted

Make rotate transform like this. And change some options of ListPolarPlot. I modified the PolarTicks option.

rotatePolar[a_List] := Module[{l = Length[a]},
  Table[{2 Pi*(i - 1)/l + Pi/2, a[[i]]}, {i, l}]
  ]

ListPolarPlot[rotatePolar[Reverse[Range[20]]], PolarAxes -> True,
 PolarAxesOrigin -> {Pi/2, 20},
 PolarTicks -> {Drop[
    Table[{i, Mod[i - 90 Degree, 360 Degree]}, {i, 0, 360 Degree, 
      15 Degree}], -1], Automatic}
 ]

enter image description here

share|improve this answer
    
Ah, the trick with the PolarTicks is very clever! :) Thanks a lot. –  A. Goossens Aug 27 at 19:14

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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