how to do Polar plot?
25 次查看(过去 30 天)
显示 更早的评论
Hi all,
Thank you for the help in advance. I wanted to plot the data usin' polar plot as the exmple shows https://matplotlib.org/examples/api/radar_chart.html
the vectors are attached as: theta=TSP rho=DNA trajectories= the direction of the wind
any help would be truly appreciated.
0 个评论
采纳的回答
Steven Lord
2018-4-3
If you want to create a polar plot, use the polarplot function introduced in release R2016a. It doesn't look exactly like the spider plot in the link Honglei posted, but it can look close, and it looks like some of the results in a Google Images search for "radar plot".
% Generate sample data
r = rand(1, 16);
th = linspace(0, 2*pi, length(r));
% Create the polar plot and get the handle to the axes
h = polarplot(th, r);
ax = ancestor(h, 'polaraxes');
% Use the axes handle to manipulate the ticks and tick labels
ax.ThetaTick = rad2deg(th);
ax.ThetaTickLabel = arrayfun(@(x) char(x+'A'), 0:15, 'UniformOutput', false);
I chose to use 'A' through 'O' as the tick labels because it was easy, but you could use a cell array containing your own names.
3 个评论
Steven Lord
2018-4-4
I'm not completely sure what you mean by "should follow the correct one". Do you want 0 to be at the top rather than on the right? Change the ThetaZeroLocation property of the polaraxes.
ax = polaraxes;
ax.ThetaZeroLocation = 'top';
For example, if you want a clock face, you can do so using four properties:
ax = polaraxes;
ax.ThetaZeroLocation = 'top';
ax.ThetaDir = 'clockwise';
ax.ThetaTickLabel = {'12'; '1'; '2'; '3'; '4'; '5'; ...
'6'; '7'; '8'; '9'; '10'; '11'};
ax.RTickLabel = {};
Technically you don't need to set ThetaZeroLocation and ThetaDir if you just reorder the ThetaTickLabel, but being able to start the clock labels with 12 (midnight) at the top of the clock face and have the clock labels occur in clockwise order just makes more sense to me.
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Polar Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!