scatter(x,y):在向量x、y指定位置画出气泡图,默认蓝色,默认size=36,默认圆圈。
简易版画图:scatter(x,y,sz,’_’,‘filled’,‘mkr’)
花哨版画图:scatter(x,y,sz,c,‘filled’,mkr)
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;
情形一:对点添加序号
建立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
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] = 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)
同二维一样
建立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