c++data函数_MATLAB画图技巧与实例(⼆):散点图scatter
和scatter3函数
⼤⼩、颜⾊、形状等。
在MATLAB画图技巧与实例(⼀)中,我们采⽤plot和plot3函数画散点图。此函数可以控制点的⼤⼩、颜⾊、形状
点的⼤⼩和颜⾊有序变化,此时就需要使⽤scatter和scatter3在⼀般时候已经⾜够使⽤,但是在某些特殊情况下,例如在同⼀数据中,让点的⼤⼩和颜⾊有序变化
函数。
基本⽤法
1 scatter函数
函数基本⽤法
scatter(x,y)
scatter(x,y,sz)
scatter(x,y,sz,c)
scatter(___,'filled')
scatter(___,mkr)
scatter(___,Name,Value)
scatter(ax,___)
scatter(x,y) 在向量 x 和 y 指定的位置创建⼀个包含圆形的散点图。该类型的图形也称为⽓泡图。
scatter(x,y,sz) 指定圆⼤⼩。要绘制⼤⼩相等的圆圈,请将 sz 指定为标量。要绘制⼤⼩不等的圆,请将 sz 指定为长度等于 x 和 y 的长度的向量。
scatter(x,y,sz,c) 指定圆颜⾊。要以相同的颜⾊绘制所有圆圈,请将 c 指定为颜⾊名称或 RGB 三元组。要使⽤不同的颜⾊,请将 c 指定为向量或由 RGB 三元组组成的三列矩阵。
scatter(___,'filled') 填充圆形。可以将 'filled' 选项与前⾯语法中的任何输⼊参数组合⼀起使⽤。
scatter(___,mkr) 指定标记类型。
scatter(___,Name,Value) 使⽤⼀个或多个名称-值对组参数修改散点图。例如,'LineWidth',2 将标记轮廓宽度设置为 2 磅。
scatter(ax,___) 将在 ax 指定的坐标区中,⽽不是在当前坐标区中绘制图形。选项 ax 可以位于前⾯的语法中的任何输⼊参数组合之前。
s = scatter(___) 返回 Scatter 对象。在创建散点图后,以后可使⽤ s 对其进⾏修改。 [1]
1.1 ⽰例1
clc
clear all
close all
data = rand(200,3);
scatter(data(:,1),data(:,2))
这⾥随机⽣成⼀组0到1之间的数据,并⽤第⼀列作为横坐标,第⼆列作为纵坐标,scatter(x,y) 图形如下
这⾥的颜⾊,符号均为默认类型。注意,这个图本质和plot函数没有任何区别。
1.2 ⽰例2
clc
clear all
close all
data = rand(200,3);
scatter(data(:,1),data(:,2),50*data(:,3))
box on
如果我们将第三列数据作为符号的⼤⼩,那么scatter(x,y,sz)的图形如下
如果我们将⼤⼩与y轴关联
scatter(data(:,1),data(:,2),50*data(:,2))
box on
看⼩⽓泡上升~~这种便是⽓泡图的来源。
在某些时候使⽤⾮常⽅便,例如表征不同颗粒的⼤⼩。
1.3 ⽰例3
clc
clear all
close all
data = rand(200,3);
scatter(data(:,1),data(:,2),50*data(:,3),data(:,3))
box on
进⼀步地,如果我们想将不同⼤⼩的汽泡也指定不同颜⾊,那么scatter(x,y,sz,c)图形如下
scatter(data(:,1),data(:,2),50*data(:,2),data(:,2))
box on
如果此时我们只想表现点的颜⾊,不想表现⼤⼩,那么令sz为空即可,例如
clc
clear all
close all
data = rand(200,3);
scatter(data(:,1),data(:,2),[],data(:,3))
box on
图像如下,此时圈的⼤⼩都⼀样
1.4 ⽰例4
如果我们想将圈的内部也填充上,那么采⽤scatter(___,'filled')即可,例如
subplot(1,2,1)
用subplot函数
scatter(data(:,1),data(:,2),50*data(:,3),data(:,3),'filled')
box on
subplot(1,2,2)
scatter(data(:,1),data(:,2),[],data(:,3),'filled')
box on
1.5 ⽰例5
因为matlab画图默认为圆圈,也可以更换其他符号类型,符号类型已在(⼀)中详细讲过,采⽤scatter(___,mkr) 即可,例如
clc
clear all
close all
data = rand(200,3);
subplot(1,2,1)
scatter(data(:,1),data(:,2),50*data(:,3),data(:,3),'filled','^')
box on
subplot(1,2,2)
scatter(data(:,1),data(:,2),[],data(:,3),'filled','s')
box on
这⾥我们分别指定符号为上三⾓和正⽅形,且填充颜⾊

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。