Matlab极坐标绘制散点图polarscatter

3.8
(6)

今天,来说下Matlab中用极坐标体系绘制散点图的函数polarscatter。该函数,可以在极坐标中绘制散点图,散点图在极坐标中体现为一个一个的扇形区域上的离散点,这与传统离散图中的矩形区域离散点有所不同。本文主要讲解极坐标离散图函数polarscatter的常见用法、语法说明、极坐标中创建散点图、使用已填充标记并设置标记大小、使用具有不同大小和颜色的标记、绘图之前从度转换为弧度、合并两个散点图以及创建散点图之后进行修改等方法。

Matlab极坐标绘制散点图polarscatter

下面,我们将开始详细的介绍polarscatter函数的语法介绍,实例引用,结果展示。由于极坐标散点图函数只有Matlab2020版本中可以,我这里安装的是Matlab2016版本,因此这里不再提供相关的帮助文档。此外,下文中出现的代码及运行结果均来源于官方文档教程。

常见用法

polarscatter(th,r)
polarscatter(th,r,sz)
polarscatter(th,r,sz,c)
polarscatter(___,mkr)
polarscatter(___,'filled')
polarscatter(___,Name,Value)
polarscatter(pax,___)
ps = polarscatter(___)

语法说明

polarscatter(th,r) 绘制 th 对 r 的图,并在每个数据点显示一个圆圈。th 和 r 必须是具有相同长度的向量。必须以弧度为单位指定 th。

polarscatter(th,r,sz) 设置标记大小,其中 sz 以平方磅为单位指定每个标记的面积。要以相同的大小绘制所有标记,请将 sz 指定为标量。要以不同的大小绘制标记,请将 sz 指定为长度与 th 相同的向量。

polarscatter(th,r,sz,c) 设置标记颜色,其中 c 是向量、三列矩阵、RGB 三元组或颜色名称,例如 ‘red’。

polarscatter(___,mkr) 设置标记符号。例如,’+’ 显示十字标记。在上述语法中的任何输入参数组合之后指定标记符号。

polarscatter(___,’filled’) 填充标记内部。

polarscatter(___,Name,Value) 使用一个或多个名称-值对组参数修改散点图的外观。例如,您可以指定 ‘FaceAlpha’ 和一个介于 0 和 1 之间的标量值,从而使用半透明标记。

polarscatter(pax,___) 将在 pax 指定的极坐标区(而不是当前坐标区)中绘制图形。

ps = polarscatter(___) 返回 Scatter 对象。在创建 Scatter 对象之后可使用 ps 修改其外观。

极坐标中创建散点图

在极坐标中创建一个散点图。

th = pi/4:pi/4:2*pi;
r = [19 6 12 18 16 11 15 15];
polarscatter(th,r)
Matlab极坐标绘制散点图polarscatter

使用已填充标记并设置标记大小

通过指定可选的输入参数 ‘filled’,创建一个使用已填充标记的散点图。将标记大小设置为 75 平方磅。

th = linspace(0,2*pi,20);
r = rand(1,20);
sz = 75;
polarscatter(th,r,sz,'filled')
Matlab极坐标绘制散点图polarscatter

使用具有不同大小和颜色的标记

使用具有不同大小和颜色的标记创建散点图。将可选的大小和颜色输入参数指定为向量。使用颜色向量中的唯一性值指定所需的不同颜色。这些值映射到颜色图中的不同颜色。

th = pi/4:pi/4:2*pi;
r = [19 6 12 18 16 11 15 15];
sz = 100*[6 15 20 3 15 3 6 40];
c = [1 2 2 2 1 1 2 1];
polarscatter(th,r,sz,c,'filled','MarkerFaceAlpha',.5)
Matlab极坐标绘制散点图polarscatter

绘图之前从度转换为弧度

创建角度值以度为单位的数据。由于 polarscatter 要求角度值以弧度为单位,因此要在绘制之前使用 deg2rad 将值转换为弧度。

th = linspace(0,360,50);
r = 0.005*th/10;
th_radians = deg2rad(th);
polarscatter(th_radians,r)
Matlab极坐标绘制散点图polarscatter

合并两个散点图

使用 hold 命令将位于相同极坐标区中的两个散点图合并起来。添加包含每个图的说明信息的图例。

th = pi/6:pi/6:2*pi;
r1 = rand(12,1);
polarscatter(th,r1,'filled')

hold on 
r2 = rand(12,1);
polarscatter(th,r2,'filled')
hold off

legend('Series A','Series B')
Matlab极坐标绘制散点图polarscatter

创建散点图之后进行修改

创建一个散点图,并将散点图对象赋给变量 ps。

th = pi/6:pi/6:2*pi;
r = rand(12,1);
ps = polarscatter(th,r,'filled')
Matlab极坐标绘制散点图polarscatter

运行结果为:

ps = 
  Scatter with properties:

             Marker: 'o'
    MarkerEdgeColor: 'none'
    MarkerFaceColor: 'flat'
           SizeData: 36
          LineWidth: 0.5000
          ThetaData: [1x12 double]
              RData: [1x12 double]
              ZData: [1x0 double]
              CData: [0 0.4470 0.7410]

  Show all properties

在创建散点图对象之后可使用 ps 修改其属性。

ps.Marker = 'square';
ps.SizeData = 200;
ps.MarkerFaceColor = 'red';
ps.MarkerFaceAlpha = .5;
Matlab极坐标绘制散点图polarscatter

共计6人评分,平均3.8

到目前为止还没有投票~

很抱歉,这篇文章对您没有用!

让我们改善这篇文章!

告诉我们我们如何改善这篇文章?

文章目录

转载文章,原文出处:MathWorks官网,由古哥整理发布

如若转载,请注明出处:https://iymark.com/articles/1316.html

(2)
微信公众号
古哥的头像古哥管理团队
上一篇 2020年12月27日 14:03
下一篇 2020年12月29日 19:38

你可能感兴趣的文章

发表回复

登录后才能评论
微信小程序
微信公众号