Azzera filtri
Azzera filtri

How to do clock-wise increasing polar plot in matlab?

16 visualizzazioni (ultimi 30 giorni)
Dear all,
I want to draw polar plot with angle of increment is in clockwise direction. while doing polar plot in matlab the angle of increment will coming in anti-clockwise direction (by default). Now, I want to get it in opposite direction. So, anyone can help me? Note: I am using matlab 2012b. thank you, With best regards,
Sivakandan M
  2 Commenti
dpb
dpb il 8 Ott 2015
With great difficulty unless--*polar* is actually an ordinary cartesian axes with the transformation of coordinates from the input r,theta to x,y for plotting.
The radial spokes of the axes you see are thus just additional lines, not actually any real objects related to the polar coordinate axes they represent at all. And, the angle labels are text objects drawn at the [x*cos(t),y*sin(t)] coordinates in x,y space of the (invisible) axes on which it is all drawn as well.
Unfortunately, unless they've done it finally in the new HG2 release, TMW has never built any actual objects of any sort for handling polar, cylindrical or shperical coordinate systems. You've got to do it all from scratch if it isn't in the provided routines (which are pretty rudimentary, granted).
You might search File Exchange and see if anybody has provided enhanced versions.
Walter Roberson
Walter Roberson il 8 Ott 2015
In the earlier releases you can find the text objects and change them. Do you need the data tips switched over too?

Accedi per commentare.

Risposta accettata

Kelly Kearney
Kelly Kearney il 8 Ott 2015
Modificato: Kelly Kearney il 8 Ott 2015
I recommend using mmpolar; it's far more flexible than polar in setting up your axes:
a = linspace(0, 2*pi);
r = exp(a)-1;
mmpolar(a, r, 'TDirection', 'cw')

Più risposte (1)

Star Strider
Star Strider il 8 Ott 2015
One possibility is to subtract the angle from the maximum value of the angle to ‘force’ a clockwise increase. (The polar function does not have many of the options other plots do, like reversing the axis direction.)
The example:
a = linspace(0, 2*pi);
r = exp(a)-1;
figure(1)
subplot(2,1,1)
polar(a, r)
title('Anti-Clockwise Increasing')
subplot(2,1,2)
polar((max(a)-a), r)
title('Clockwise Increasing')

Categorie

Scopri di più su Polar Plots in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by