MATLAB玫瑰图角度标签添加度数符号异常问题求助
解决MATLAB 2016a中rose2玫瑰图角度标签添加度数符号的问题
1. 精准获取角度轴刻度与生成带度数的标签
rose2绘图后,角度轴对应底层极坐标的X轴,r轴对应Y轴,别搞混。先获取当前坐标轴对象和角度刻度:
h = rose2(your_data); % 把your_data替换成你的实际数据 ax = gca; theta_ticks = ax.XTick; % 提取角度刻度数值 % 给每个刻度值加上度数符号(ASCII码176对应°) theta_labels = arrayfun(@(x) [num2str(x) char(176)], theta_ticks, 'UniformOutput', false);
2. 仅修改角度轴标签,避免误碰r轴
直接设置X轴的刻度标签,这样就不会影响r轴的内容:
ax.XTickLabel = theta_labels;
3. 恢复误改的r轴标签(如果需要)
如果之前不小心改了r轴标签,可重置为自动生成的刻度标签:
ax.YTickLabel = arrayfun(@num2str, ax.YTick, 'UniformOutput', false);
兼容你已完成的设置
可以继续保留之前的r轴最大值、标签旋转、字体大小调整:
ax.YLim = [0 15]; % 替换15为你需要的r轴最大值 ax.XTickLabelRotation = 30; % 按需调整角度标签旋转角度 ax.FontSize = 12; % 设置全局字体大小
踩坑提示
- 别直接用
set(gca, 'TickLabel', ...),这会修改所有轴的标签,导致r轴显示异常数值。 - MATLAB 2016a用
char(176)生成度数符号最稳妥,别用Unicode转义字符,旧版本可能不支持。
内容的提问来源于stack exchange,提问作者Lisa
相关产品推荐
相关产品推荐

