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)如图所示: 改变圆圈大小 使用大小不同的圆圈创建一个散点图。以平方磅为单位指定大小 x = linspace(0,3*pi,200); y = cos(x) + rand(1,200); sz = linspace(1,100,200); scatter(x,y,sz)如图所示: 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)如图所示: 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')如图所示: 指定标记符号 创建向量 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')如图所示: 更改标记颜色和线条宽度 创建向量 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)如图所示: 改变整个数据点范围内的透明度 通过将 AlphaData 属性设置为不同不透明度值的向量,可以改变各散点的透明度。要确保散点图使用 AlphaData 值,请将 MarkerFaceAlpha 属性设置为 'flat'。 创建一组正态分布的随机数。然后用填充的标记创建数据的散点图。 x = randn(1000,1); y = randn(1000,1); s = scatter(x,y,'filled');如图所示: 根据与零的距离设置每个点的不透明度。 distfromzero = sqrt(x.^2 + y.^2); s.AlphaData = distfromzero; s.MarkerFaceAlpha = 'flat';如图所示: 绘制表中的数据 自 R2021b 开始提供 绘制表中数据的一种便捷方法是将表传递给 scatter 函数,并指定要绘制的变量。例如,将 patients.xls 以表 tbl 形式读取。通过将 tbl 作为第一个参数传递给 scatter 函数,后跟变量名称,绘制 Systolic 和 Diastolic 变量之间的关系。请注意,轴标签与变量名称匹配。 tbl = readtable('patients.xls'); scatter(tbl,'Systolic','Diastolic');如图所示: 也可以同时绘制多个变量。例如,通过将 yvar 参数指定为元胞数组 {'Systolic','Diastolic'},绘制两个血压变量对 Weight 变量的图。添加图例,注意图例标签与变量名称匹配。 scatter(tbl,'Weight',{'Systolic','Diastolic'}); legend如图所示: 使用自定义颜色和标记大小绘制表数据 自 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');如图所示: 通过设置 SizeData 属性,将标记大小更改为 100 磅。然后添加颜色栏。 s.SizeData = 100; colorbar如图所示: 指定目标坐标区和标记类型 自 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')如图所示: 创建并修改散点序列 创建一个散点图并返回散点序列对象 s。 theta = linspace(0,1,500); x = exp(theta).*sin(100*theta); y = exp(theta).*cos(100*theta); s = scatter(x,y);如图所示: 在创建散点序列后,使用 s 查询并设置其属性。将线宽设置为 0.6 磅。将标记边颜色设置为蓝色。使用 RGB 三元组颜色设置标记面。 s.LineWidth = 0.6; s.MarkerEdgeColor = 'b'; s.MarkerFaceColor = [0 0.5 0.5];如图所示: 在 R2006a 之前推出 R2022b: 用表创建的绘图将保留轴和图例标签中的特殊字符 R2021b: 将表直接传递给 scatter
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |