matlab使用教程(50)—修改极坐标图的属性

        为了便于查看图形,可以修改极坐标区的特定方面。例如,可以更改网格线位置和关联的标签。也可以更改网格线颜色和标签字体大小。

1.创建极坐标图

        在极坐标中绘制线条和添加标题。
theta = linspace(0,2*pi);
rho = 2*theta;
figure
polarplot(theta,rho)
title('My Polar Plot')

        在 R2022a 之前,默认情况下极坐标区不包括度符号。要添加度符号,请使用 pax = gca 获取极坐标区。 然后使用 pax.ThetaTickLabel = string(pax.ThetaTickLabel) + char(176) 修改刻度标签。

2.使用属性自定义极坐标区

        在创建极坐标图时,MATLAB 会创建一个 PolarAxes 对象。 PolarAxes 对象具有可用于自定义极坐标区外观的属性,例如字体大小、颜色或刻度。有关完整列表,请参阅 PolarAxes 属性。
        使用 gca 函数访问 PolarAxes 对象,例如 pax = gca 。然后,结合使用 pax 和圆点表示法来设置属性,例如 pax.FontSize = 14
pax = gca
pax =
PolarAxes (My Polar Plot) with properties:
ThetaLim: [0 360]
RLim: [0 14]
ThetaAxisUnits: 'degrees'
ThetaDir: 'counterclockwise'
ThetaZeroLocation: 'right'
Show all properties
pax.FontSize = 14;

2.1 theta 轴刻度值

        沿 theta 轴每隔 45 度显示刻度线。将这些位置指定为一个由递增值组成的向量。
thetaticks(0:45:315)

        通过设置 ThetaAxisUnits 属性,以弧度(而不是°)为单位显示 theta 轴上的值。
pax = gca;
pax.ThetaAxisUnits = 'radians';

        修改 theta 轴,使其按顺时针方向增加。此外,还要旋转 theta 轴,以使基准角 0 位于左侧。
pax = gca;
pax.ThetaDir = 'clockwise';
pax.ThetaZeroLocation = 'left';

2.2 r 坐标轴范围、刻度值和标签

        将 r 轴范围更改为值介于 -5 和 15 之间。在值 -2、3、9 和 15 处显示刻度线。然后,更改每个刻度线旁边显示的标签。将标签指定为字符向量元胞数组。
rlim([-5 15])
rticks([-2 3 9 15])
rticklabels({'r = -2','r = 3','r = 9','r = 15'})

2.3 网格线和标签颜色

        通过设置 ThetaColor RColor 属性,对 theta 轴和 r 轴网格线及关联的标签使用不同的颜色。通过设置 LineWidth 属性,更改网格线的线宽。使用某个颜色名称(例如 'blue')的字符向量或 RGB 三元组指定颜色。RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度必须处于范围 [0,1] 中,例如 [0.4 0.6 0.7]。
pax = gca;
pax.ThetaColor = 'blue';
pax.RColor = [0 .5 0];

        通过设置 GridColor 属性,在不影响标签的情况下更改所有网格线的颜色。
pax.GridColor = 'red';

        指定 GridColor 属性后, ThetaColor RColor 属性将不再影响网格线。如果希望 ThetaColorRColor 属性影响网格线,则可将 GridColorMode 属性设置回 'auto'

3.极坐标区上的罗盘标签

        以下示例演示如何在极坐标中绘制数据图。此外,还演示如何指定要绘制网格线的角度以及如何指定标签。
        在极坐标中绘制数据图,并在每个数据点处显示一个圆形标记。
theta = linspace(0,2*pi,50);
rho = 1 + sin(4*theta).*cos(2*theta);
polarplot(theta,rho,'o')

        使用 gca 访问极坐标区对象。通过设置 ThetaTick 属性,指定绘制网格线的角度。然后,通过设置ThetaTickLabel 属性,指定每条网格线的标签。
pax = gca;
angles = 0:45:360;
pax.ThetaTick = angles;
labels = {'E','NE','N','NW','W','SW','S','SE'};
pax.ThetaTickLabel = labels;

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

配电网和matlab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值