二、线
1.二维线图
Step 1.plot函数先画线
plot(x,y):注意x,y是一一对应
- x,y都是向量或都为矩阵:维数或者大小必须相同;可以根据x向量,通过函数获取y向量,即画函数图像。
- x,y其中一个是矩阵、一个向量:要求向量维数必与矩阵的行或者列相同。假设X为1xm的向量,Y为mxn的矩阵,则X与Y的列向量组成一堆点(X,Y),这样图上会绘制出n条线。
- x,y其中一个是标量、一个是向量或者标量:改变格式画出的是离散的点。plot(x,y,‘o’)或者plot(x,y,’.’)
- 利用plot函数画圆
%直接的方式
x=10;
y=10;
r=10;
theta=0:0.01:2*pi
c1=x+r*cos(theta);
c2=y+r*sin(theta);
plot(c1,c2,'k')
%函数的方式:需要x,y,r三个参数
function[]=(x,y,r)
theta=0:0.01:2*pi;
c1=x+r*cos(theta);
c2=y+r*sin(theta);
plot(c1,c2,'k')
三维空间里画圆详见博客: https://blog.csdn.net/u012183487/article/details/83927259
plot(Y):注意Y到底与什么一一对应
- Y是向量:则X=linspace(1,length(Y),numel(Y)),向量的列号向量[1 2 3…length(Y)]对应Y向量生成(X,Y)的图像;
- Y是mxn的矩阵:则X=linspace(1,m,m),矩阵的行号向量[1 2 3 4…m]对应每列向量生成(X,Y)的图像;即n条线
1.1简易版画图:plot(x,y,‘LineSpec’)默认LineWidth=0.5,蓝线
如何查看默认属性:s=plot(x,y)直接回车
- ‘LineSpec’:颜色线型点符号
- 将多条函数线放在一个坐标区域内
plot(x1,y1,x2,y2,…)
plot(x,y1,y2,y3,…)
总结自己常用的设置
颜色符号 | 含义 | 线型符号 | 含义 | 点型符号 | 含义 |
---|---|---|---|---|---|
k | 黑色 | - | 实线(默认)— | o | 圆圈 |
r | 红色 | - - | 虚线- - - - - | * | 星 |
m | 品红 | : | 点线····· | x | 叉号 |
y | 黄色 | -. | 点划线-.-.-. | s | 方块 |
1.2花哨版画图
方法一
plot(x,y,'___',... %线型颜色点
'LineWidth',1,... %线宽度默认0.5
'MarkerIndices',向量,... %[1 5 10]表示只按设置标记出第1、5、10个点;
5表示只按设置标记出第5个点
linspace(1,length(x),3)表示每三个点按设置标记出;或者用:1:3:length(x)
'MarkerSize',10,... %标记点处的面积大小,默认值为6
'MarkerEdgeColor','k',... %标记点处边缘颜色
'MarkerFaceColor','y',... %标记点出内部填充颜色
)
方法二
p=plot(x,y,'-k'); %此步之后直接按回车,可以看出其各个属性设置
p.LineWidth=1;
p.MarkerIndices=[1 5 10];
p.MarkerSize=10;
p.MarkerEdgeColor='k';
p.MarkerFaceColor='y';
Step 2.text函数对点添加注释
function[]=plot_text(X,Y)
plot(X,Y,'k')
p=find(Y==max(Y)) %(X(p),Y(p))就是要找的点
hold on
scatter(X(p),Y(p),'filled')
hold off
a=['(',num2str(X(p)),',',num2str(Y(p)),')'] %一定要加[],注意( ,)全部为字符串,必须要用‘’包住,
text(X(p),Y(p),a,'color','b') %对于上述的字符串要求是蓝色的
关于text函数:
text(X,Y,‘str’,‘PropertyName’,PropertyValue…)
号外注意:如何需要对添加的注释位置进行改变,直接改动X,Y就可以
即X,Y为你添加注释的位置,而不是你画点的位置。
详细的设置请见博客:https://blog.csdn.net/hero_myself/article/details/42113279
2.三维线图
Step 1.plot3(x,y,z):关于线的具体设置同二维的线图一样
Step 2.text函数对点添加注释
3.等高线
3.1曲面等高线(二维)
contour(X,Y,Z,levels,linespec,Name,Value)
- X为一个m维向量
- Y为一个n维向量
- Z为一个mxn的矩阵
其中注意:[X,Y]=meshgrid(x,y)形成的网格矩阵要求与Z是同维数的 - levels:实例见下
1.contour(X,Y,Z,10):在10个自动选择的高度上画曲面的等高线;
2.contour(X,Y,Z,[50 100 150]):在50、100、150这三个高度上画出曲面的等高线;
3.contour(X,Y,Z,[50 50]):在高度50处画出曲面的等高线 - linespec线的设置:颜色与线型与上面同理
- 其他设置:
1.等高线标签: contour(X,Y,Z,‘ShowText’,‘on’)
'on’是在等高线处显示高度
'off’是在等高线处不显示高度
2.标签间距设置: contour(X,Y,Z,‘ShowText’,‘on’,‘LabelSpacing’,172)
默认间距为144
3.线宽设置: contour(X,Y,Z,‘LineWidth’,‘10’)
默认线宽为0.5
3.2 曲面等高线(三维)
contour3(X,Y,Z,levels,‘linespec’,‘showtext’,‘on’…)
具体的同上