Creating a "clock" plot, like polarplot.
15 views (last 30 days)
Show older comments
Is it possible to create a polar-like plot or histogram where the theta values are in minutes between 0 and 60?
I can do it by converting the values to radians and setting the labels, but it would be less-error prone if the theta scale was settable (ThetaLim doesn't do this).
WT = [ 1 2 3 5 42 43 59.5 0.5];
theta = deg2rad( WT*6 );
edges = deg2rad(-5:10:355);
figure;
pax = polaraxes;
polarhistogram( theta, edges );
pax.ThetaDir = 'clockwise';
pax.ThetaZeroLocation = 'top';
pax.ThetaTick = [0 90 180 270 360];
pax.ThetaTickLabel = [0 15 30 45 60];
pax.RTick = [];
1 Comment
Dyuman Joshi
on 30 Dec 2023
@dormant, The method you've come up with seems like a good approach.
I think the (accepted) answer does not understood or acknowledge what the expected output is.
Accepted Answer
Hassaan
on 27 Dec 2023
Moved: Voss
on 27 Dec 2023
WT = [ 1 2 3 5 42 43 59.5 0.5];
theta = deg2rad(WT*6);
edges = deg2rad(-0.5:1:60.5);
figure;
pax = polaraxes;
polarhistogram(theta, edges);
pax.ThetaDir = 'clockwise';
pax.ThetaZeroLocation = 'top';
pax.ThetaTick = [0 90 180 270 360];
pax.ThetaTickLabel = {'0' '15' '30' '45' '60'};
pax.RTick = [];
The code snippet provided is a good starting point and, with a few adjustments, it should be able to produce a reliable and accurate clock-like polar histogram plot.
------------------------------------------------------------------------------------------------------------------------------------------------
If you find the solution helpful and it resolves your issue, it would be greatly appreciated if you could accept the answer. Also, leaving an upvote and a comment are also wonderful ways to provide feedback.
More Answers (0)
See Also
Categories
Find more on Polar Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!