一、点
1.二维散点图
Step1. scatter函数画点
scatter(x,y):在向量x、y指定位置画出气泡图,默认蓝色,默认size=36,默认圆圈。
简易版画图:scatter(x,y,sz,’_’,‘filled’,‘mkr’)
- sz是一个固定的标量,则画出的是圆圈大小固定的气泡图;
- ‘__’:用字符代表颜色
- ‘filled’:填充圆形
- mkr:指定线型,注意别与’filled’冲突
- 注意:最后四项可有可无,随要求设置,无的选项就是默认
花哨版画图:scatter(x,y,sz,c,‘filled’,mkr)
- sz是与x向量维数相同的向量,[例:sz=linspace(1,100,200)],则画出的是圆圈大小递增的气泡图;
- c是一个与x维数相等的向量,[例:c=linspace(1,100,length(x))],则画出颜色渐变的圆圈;
- 注意:sz的位置就是大小,c不能抢占sz的位置。随机后四项搭配的时候要合适,不能瞎搭。
s=scatter(x,y,sz,’_’,‘filled’,mkr)
s.LineWidth=0.6; %对点的轮廓宽度进行设置
s.MarkerEdgeColor=‘k’; %对点的轮廓颜色进行设置
s.MarkerFaceColor=‘b’; %对点的轮廓内部颜色进行设置
总结自己常用点的设置
符号 | 含义 | 符号 | 含义 |
---|---|---|---|
k | 黑色 | o | 圆圈 |
r | 红色 | . | 点 |
b | 蓝色 | x | 十字叉 |
y | 黄色 | * | 星号 |
m | 品红色 | s | 方形 |
总结自己常用的画二维点的代码(简洁)
scatter(x,y,'r.') %红色的原点
scatter(x,y,'filled') %默认的蓝色实心圆圈
scatter(x,y,'filled','k')
scatter(x,y,'filled','r')
scatter(x,y,40,'r')
s.LineWidth=1;
Step2.text函数对散点添加注释
情形一:对点添加序号
建立plot_number(X,Y)函数
function[]=plot_number(X,Y) %两个变量
scatter(X,Y,'k.'); %画出黑色点的散点图
hold on
for i=1:length(X)
a=num2str(i) %将数值i转化为字符串
text(X(i)+10,Y(i),a) %对点(X(i),Y(i))进行标号 %注意:添加注释的时候可以适当地远离所画的点
end
hold off
end
举例结果如图:
情形二:对点添加符号和注释
建立plot_text(X,Y,u)函数
function[]=plot_text(X,Y,u) %注意在输入变量u的时候要用列向量,例如:a=['1号';'2号'],之间一定要用分号
scatter(X,Y,'b.') %画出蓝色点的散点图
hold on
for i=1:length(X)
a=num2str(u(i,:)) %将位置数值i转化为相应位置的字符串
text(X(i)+10,Y(i),a) %注意:在添加注释的时候,可以适当地远离所画的点
end
hold off
end
举例结果如图:
2.三维散点图
step1.scatter3函数画点
scatter3(x,y,z): 在(x,y,z)指定位置上画出气泡图,默认蓝色,默认size=36,默认圆圈。
简易版画图:scatter3(x,y,z,s,’__’,‘filled’,‘mkr’)
具体解释同二维
花哨版画图:scatter3(x,y,z,s,c)
- 取出点(X,Y,Z)
[X,Y,Z] = sphere(16);
x = [0.5*X(:); 0.75*X(:); X(:)]; %取出三个球面上的点
y = [0.5*Y(:); 0.75*Y(:); Y(:)]; %X(:)是按列的位置重新组成一个列向量
z = [0.5*Z(:); 0.75*Z(:); Z(:)]; %注意[]内部元素是;依旧形成的是列向量
- 圈圈面积大小不同:
S=repmat([50,25,10],numel(X),1)
s=S(:)
- 颜色渐变的设置
C=repmat([1,2,3],numel(X),1)
c=C(:)
repmat(A,m,n)是对矩阵A进行重排,把A当做一个模块,复制重排为m行n列的整体矩阵;
numel(X)是对X向量元素进行计数;
C(:)是按矩阵位置重新排成一个列矩阵
h=scatter(x,y,z,‘filled’,‘mkr’)
h.LineWidth=0.6 %对点的轮廓宽度进行设置
h.MarkerEdgeColor=‘k’ %对点的轮廓颜色进行设置
h.MarkerFaceColor=‘b’ %对点的内部颜色设置进行设置
view(-30,10) %对于x,y轴的视角
总结自己常用的三维点的代码段
scatter3(x,y,z,'filled')
scatter3(x,y,z,'filled','k')
scatter3(x,y,z...
MarkerEdgeColor='k'...
MarkerFaceColor='b');
view(-30,10)
Step2.利用text函数对三点添加注释
同二维一样
建立plot_number函数
function[]=plot_number(x,y,z)
scatter3(x,y,z,'filled','k')
hold on
for i=1:length(x)
a=num2str(i)
text(x(i),y(i),z(i),a)
end
hold off
end
建立plot_text函数
function[]=plot_text(x,y,z,u)
scatter3(x,y,z,'filled','k')
hold on
for i=1:length(x)
a=num2str(u(i,:)) %将字符串矩阵的位置数值转化为对应的字符串
text(x,y,z,a)
end
hold off
end