MATLAB中scatter函数用法

这篇具有很好参考价值的文章主要介绍了MATLAB中scatter函数用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

语法

说明

​示例


        scatter函数的功能是绘制散点图。

语法

scatter(x,y)
scatter(x,y,sz)
scatter(x,y,sz,c)
scatter(___,"filled")
scatter(___,mkr)
scatter(tbl,xvar,yvar)
scatter(tbl,xvar,yvar,"filled")
scatter(ax,___)
scatter(___,Name,Value)
s = scatter(___)

说明

向量和矩阵数据

​scatter(x,y) 在向量 x 和 y 指定的位置创建一个包含圆形标记的散点图。

  • 要绘制一组坐标,请将x和y指定为等长向量。

  • 要在同一组坐标区上绘制多组坐标,请将x或y中的至少一个指定为矩阵。

        ​scatter(x,y,sz) 指定圆圈大小。要对所有圆使用相同的大小,请将 sz 指定为标量。要绘制不同大小的每个圆,请将 sz 指定为向量或矩阵。

        ​scatter(x,y,sz,c) 指定圆颜色。可以为所有圆指定一种颜色,也可以更改颜色。例如,可以通过将 c 指定为 "red" 来绘制所有红色圆。

        scatter(___,"filled") 填充圆。可以将 "filled" 选项与前面语法中的任何输入参数组合一起使用。

        scatter(___,mkr) 指定标记类型。

表数据

        scatter(tbl,xvar,yvar) 绘制表 tbl 中的变量 xvar 和 yvar。要绘制一个数据集,请为 xvar 指定一个变量,为 yvar 指定一个变量。要绘制多个数据集,请为 xvar、yvar 或两者指定多个变量。如果两个参数都指定多个变量,它们指定的变量数目必须相同。(自 R2021b 开始提供)

        scatter(tbl,xvar,yvar,"filled") 用实心圆绘制表中的指定变量。(自 R2021b 开始提供)

其他选项

        ​scatter(ax,___) 将在 ax 指定的坐标区中,而不是在当前坐标区中绘制图形。选项 ax 可以位于前面的语法中的任何输入参数组合之前。

        ​scatter(___,Name,Value) 通过使用一个或多个名称-值参数设置属性来修改散点图。例如:​

  • scatter(x,y,"LineWidth",2) 创建一个标记轮廓为两磅的散点图。

  • scatter(tbl,"MyX","MyY","ColorVariable","MyColors") 根据表中的数据创建一个散点图,并使用表中的数据自定义标记颜色。

        ​s= scatter(___) 返回 Scatter 对象或 Scatter 对象数组。在创建绘图后,使用 s 设置属性。

​示例

创建散点图

        创建 x 为 0 和 3π 之间的 200 个等间距值。创建 y 为带随机干扰的余弦值。然后,创建一个散点图。

x = linspace(0,3*pi,200);
y = cos(x) + rand(1,200);  
scatter(x,y)

如图所示:

matlab scatter 实心点,Matlab,matlab,人工智能,算法

改变圆圈大小

        使用大小不同的圆圈创建一个散点图。以平方磅为单位指定大小

x = linspace(0,3*pi,200);
y = cos(x) + rand(1,200);
sz = linspace(1,100,200);
scatter(x,y,sz)

如图所示:

matlab scatter 实心点,Matlab,matlab,人工智能,算法

         x、y 和 sz 中的相应元素确定每个圆圈的位置和大小。要按照相同的面积绘制所有圆圈,请将 sz 指定为数值标量。

改变圆圈颜色

        创建一个散点图并改变圆圈的颜色。

x = linspace(0,3*pi,200);
y = cos(x) + rand(1,200);
c = linspace(1,10,length(x));
scatter(x,y,[],c)

如图所示:

matlab scatter 实心点,Matlab,matlab,人工智能,算法

         x、y 和 c 中的相应元素确定每个圆形的位置和颜色。scatter 函数将 c 中的元素映射到当前颜色图中的元素。

填充标记

        创建一个散点图并填充标记。scatter 使用标记边的颜色填充每个标记。   

x = linspace(0,3*pi,200);
y = cos(x) + rand(1,200);
sz = 25;
c = linspace(1,10,length(x));
scatter(x,y,sz,c,'filled')

如图所示:

matlab scatter 实心点,Matlab,matlab,人工智能,算法

指定标记符号 

        创建向量 x 和 y,作为带随机干扰的正弦和余弦值。然后,创建一个散点图,并使用面积为 140 平方磅的菱形标记。

theta = linspace(0,2*pi,150);
x = sin(theta) + 0.75*rand(1,150);
y = cos(theta) + 0.75*rand(1,150);  
sz = 140;
scatter(x,y,sz,'d')

如图所示:

matlab scatter 实心点,Matlab,matlab,人工智能,算法

更改标记颜色和线条宽度 

        创建向量 x 和 y,作为带随机干扰的正弦和余弦值。创建一个散点图并设置标记边颜色、标记面颜色和线条宽度。

theta = linspace(0,2*pi,300);
x = sin(theta) + 0.75*rand(1,300);
y = cos(theta) + 0.75*rand(1,300);  
sz = 40;
scatter(x,y,sz,'MarkerEdgeColor',[0 .5 .5],...
              'MarkerFaceColor',[0 .7 .7],...
              'LineWidth',1.5)

如图所示:

matlab scatter 实心点,Matlab,matlab,人工智能,算法

改变整个数据点范围内的透明度

        通过将 AlphaData 属性设置为不同不透明度值的向量,可以改变各散点的透明度。要确保散点图使用 AlphaData 值,请将 MarkerFaceAlpha 属性设置为 'flat'

        创建一组正态分布的随机数。然后用填充的标记创建数据的散点图。

x = randn(1000,1);
y = randn(1000,1);
s = scatter(x,y,'filled');

 如图所示:

matlab scatter 实心点,Matlab,matlab,人工智能,算法

根据与零的距离设置每个点的不透明度。

distfromzero = sqrt(x.^2 + y.^2);
s.AlphaData = distfromzero;
s.MarkerFaceAlpha = 'flat';

如图所示:

matlab scatter 实心点,Matlab,matlab,人工智能,算法

绘制表中的数据

自 R2021b 开始提供

        绘制表中数据的一种便捷方法是将表传递给 scatter 函数,并指定要绘制的变量。例如,将 patients.xls 以表 tbl 形式读取。通过将 tbl 作为第一个参数传递给 scatter 函数,后跟变量名称,绘制 Systolic 和 Diastolic 变量之间的关系。请注意,轴标签与变量名称匹配。

tbl = readtable('patients.xls');
scatter(tbl,'Systolic','Diastolic');

 如图所示:

matlab scatter 实心点,Matlab,matlab,人工智能,算法

         也可以同时绘制多个变量。例如,通过将 yvar 参数指定为元胞数组 {'Systolic','Diastolic'},绘制两个血压变量对 Weight 变量的图。添加图例,注意图例标签与变量名称匹配。

scatter(tbl,'Weight',{'Systolic','Diastolic'});
legend

如图所示:

matlab scatter 实心点,Matlab,matlab,人工智能,算法

使用自定义颜色和标记大小绘制表数据

自 R2021b 开始提供

        绘制表中数据并自定义颜色和标记大小的一种方法是设置 ColorVariable 和 SizeData 属性。您可以在调用 scatter 函数时将这些属性设置为名称-值参数,也可以稍后在 Scatter 对象上设置它们。

        例如,将 patients.xls 以表 tbl 形式读取。用填充标记绘制 Height 变量对 Weight 变量的图。通过指定 ColorVariable 名称-值参数来更改标记颜色。将 Scatter 对象返回为 s,以便以后可以设置其他属性。

tbl = readtable('patients.xls');
s = scatter(tbl,'Weight','Height','filled','ColorVariable','Diastolic');

如图所示:

matlab scatter 实心点,Matlab,matlab,人工智能,算法

        通过设置 SizeData 属性,将标记大小更改为 100 磅。然后添加颜色栏。 

s.SizeData = 100;
colorbar

如图所示:

matlab scatter 实心点,Matlab,matlab,人工智能,算法

指定目标坐标区和标记类型

自 R2019b 开始提供

        可以使用 tiledlayout 和 nexttile 函数显示分块图。调用 tiledlayout 函数以创建一个 2×1 分块图布局。调用 nexttile 函数以创建坐标区对象 ax1 和 ax2。将在每个坐标区中绘制散点数据。在底部散点图中,指定使用实心菱形标记。

x = linspace(0,3*pi,200);
y = cos(x) + rand(1,200);
tiledlayout(2,1)

% Top plot
ax1 = nexttile;
scatter(ax1,x,y)

% Bottom plot
ax2 = nexttile;
scatter(ax2,x,y,'filled','d')

 如图所示:

matlab scatter 实心点,Matlab,matlab,人工智能,算法

创建并修改散点序列

        创建一个散点图并返回散点序列对象 s。

theta = linspace(0,1,500);
x = exp(theta).*sin(100*theta);
y = exp(theta).*cos(100*theta);
s = scatter(x,y);

如图所示:

matlab scatter 实心点,Matlab,matlab,人工智能,算法

        在创建散点序列后,使用 s 查询并设置其属性。将线宽设置为0.6磅。将标记边颜色设置为蓝色。使用 RGB 三元组颜色设置标记面。 

s.LineWidth = 0.6;
s.MarkerEdgeColor = 'b';
s.MarkerFaceColor = [0 0.5 0.5];

如图所示:

matlab scatter 实心点,Matlab,matlab,人工智能,算法

在 R2006a 之前推出

        R2022b: 用表创建的绘图将保留轴和图例标签中的特殊字符

       R2021b: 将表直接传递给 scatter文章来源地址https://www.toymoban.com/news/detail-571301.html

到了这里,关于MATLAB中scatter函数用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • matlab--solve函数的用法

    目录 1.用法结构 2.解单变量方程 3.解多变量方程  4.解带参方程 5.解不等式 6.总结 solve函数是MATLAB中的一个符号计算函数,用于求解方程组或方程的符号解。 它的用法如下: 定义符号变量:使用syms函数定义符号变量,例如:syms x y z; 定义方程或方程组:将方程或方程组表示

    2023年04月16日
    浏览(40)
  • MATLAB中var函数用法

    目录 语法 说明 示例 矩阵方差 数组方差 指定方差权重向量 指定方差的维度 数组页的方差 排除缺失值的方差 方差和均值         var函数的功能是求取方差。          V = var(A) 返回 A 沿大小大于 1 的第一个数组维度计算的元素的方差。默认情况下,方差按 N-1 实现归一

    2024年04月15日
    浏览(40)
  • MATLAB中residue函数用法

    目录 语法 说明 示例 求解具有实根的部分分式展开式 展开具有复数根和同次分子及分母的分式 展开分子次数高于分母次数的分式          residue函数的功能是部分分式展开(部分分式分解)。 [r,p,k] = residue(b,a) 计算以如下形式展开的两个多项式之比的 部分分式展开式

    2024年02月10日
    浏览(36)
  • MATLAB中padarray函数用法

    目录 语法 说明 示例 向二维和三维数组添加填充值         padarray函数的功能是填充数组。 B = padarray(A,padsize) 填充数组 A,每个维度的填充量由 padsize 指定。padarray 函数用值 0 填充数值或逻辑图像,用类别 undefined 填充分类图像。默认情况下,paddarray 在每个维度的第一个

    2024年01月17日
    浏览(48)
  • MATLAB中mse函数用法

    目录 语法 说明 示例 使用 mse 性能函数训练神经网络         mse函数的功能是均方归一化误差性能函数。 提示         要在深度学习中使用均方误差,请使用 regressionLayer,或使用 dlarray 方法 mse。 perf = mse(net,t,y,ew) 采用神经网络 net、目标矩阵或元胞数组 t、输出矩阵

    2024年02月08日
    浏览(48)
  • 【MATLAB】find函数及其用法

            返回一个包含数组 X 中每个 非零元素的线性索引向量 。         如果 X 为向量,则 find 返回方向与X相同的向量。如果 X 为多维数组,则 find 返回由结果的 线性索引组成的列向量 。如果 X 包含非零元素或为空,则 find 返回一个空数组。         线性索引组

    2023年04月09日
    浏览(46)
  • MATLAB中step函数的用法

    MATLAB中step函数的用法 step函数是MATLAB中的一个重要函数,用于绘制系统的阶跃响应图。它可以帮助工程师和科学家分析和设计控制系统。本文将详细介绍step函数的用法,并提供相应的源代码示例。 step函数的基本用法如下: 其中,sys是一个线性系统模型对象,可以是连续时间

    2024年02月03日
    浏览(50)
  • MATLAB中sort函数的用法大全

    1.sort的基本用法 MATLAB中的sort函数用于对数组进行排序。最基本的用法是: sortedArray = sort(Array); 这会按照升序对数组进行排序。要按降序排序,你可以使用\\\'descend\\\'选项: sortedArray = sort(Array, \\\'descend\\\'); 如果你的数组是多维的,你可以指定你要排序的维度。例如,要按列排序,你

    2024年04月22日
    浏览(43)
  • Matlab中exp(x)函数的用法

    Y=exp(X)为数组X中的每个元素返回指数 e x e^x e x 。对于复数元素z=x+iy,它返回以下复指数 e z = e x ( c o s y + i s i n y ) e^{z}=e^x(cosy+isiny) e z = e x ( cosy + i s in y ) 。 使用expm计算矩阵指数。 计算1的指数,它是欧拉数e。 欧拉恒等式即等式 e i π + 1 = 0 e^{ipi}+1=0 e iπ + 1 = 0 。 计算 e i π

    2024年02月12日
    浏览(39)
  • Matlab 散点图(Scatter)和颜色图(Colormap)

    最初在学习数学和物理时,就已经知道拿到数据要「描点画图」,在密密麻麻的格子纸上标记每一个数据,然后才是用折线或平滑曲线连接。 简单对应在 matlab 的画图函数中,scatter() 1 2 用来描点,plot() 用来连线。 当然也可以对 plot() plot3() 补充 \\\'.\\\' \\\'o\\\' 参数来将绘图指定为不

    2024年02月14日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包