MATLAB polarplot如何设置第一与第三极坐标网格环间填充色为灰色
Matlab polarplot环形区域填色实现方法
你可以通过读取极坐标轴的网格刻度,手动绘制环形填充区域再放到图层底部实现需求,完整可运行的代码如下:
% 原有绘图逻辑 polarplot(Ext); grid on; % 1. 获取极坐标轴对象与环形网格半径 pax = gca; r_ticks = pax.RTick; % 三层网格从小到大分别对应第1、2、3个刻度 r_layer1 = r_ticks(1); r_layer3 = r_ticks(3); % 2. 生成环形区域坐标 theta = linspace(0, 2*pi, 100); % 内层(第一层网格)坐标 x_inner = r_layer1 * cos(theta); y_inner = r_layer1 * sin(theta); % 外层(第三层网格)坐标 x_outer = r_layer3 * cos(theta); y_outer = r_layer3 * sin(theta); % 3. 绘制灰色填充 fill([x_outer, fliplr(x_inner)], [y_outer, fliplr(y_inner)], ... [0.7 0.7 0.7], 'EdgeColor','none', 'FaceAlpha', 0.4); % 4. 将填充层移到最底部,避免遮挡曲线和网格 uistack(findobj(pax, 'Type','Patch'), 'bottom');
- 灰度调整:修改
[0.7 0.7 0.7]的数值即可,数值越接近0颜色越深,越接近1颜色越浅 - 透明度调整:修改
FaceAlpha的数值即可,取值范围0-1,1为完全不透明,0为完全透明
- 如果你提前知道自定义的网格半径数值,可以直接给
r_layer1和r_layer3赋值,不需要读取pax.RTick
内容的提问来源于stack exchange,提问作者Linus Bucher
相关产品推荐
相关产品推荐

