MATLAB绘图:2.plot函数
plot函数
plot函数是最基本的绘图函数,可以绘制直线、散点图、折线图、柱状图等;
大多数的绘图函数的使用方法与plot函数类似
一.基本用法
plot(x,y)
- x,y为绘图数据,x为横坐标,y为纵坐标
- 如果x、y都是向量,那么他们的大小必须一致,绘制的是y对x的线图
- 如果x、y都是矩阵,那么x和y的形状必须一致,绘制的是y的列对x的列的线图,绘制条数等于矩阵的行数
- 其中一个轴为向量,另一个为矩阵,则矩阵中某一维大小与向量大小一致
x=0:0.1:2*pi;
y=sin(x);
plot(x,y)
二.更多用法:
- 设置线型、标记符号和颜色
plot(x,y,‘-r*’) - 同时绘制多个x、y对的图,所有线条使用相同的坐标区
plot(x1,y1,x2,y2) - 设置每个图的线型、标记符号和颜色
plot(x1,y1,‘-r*’,x2,y2,‘-b+’) - 可以不设置颜色,默认为黑色
不同的线型、标记和颜色
线型 | 说明 |
---|---|
- | 实线(默认) |
– | 虚线 |
: | 点线 |
-. | 点划线 |
标记 | 说明 |
---|---|
. | 点 |
o | 圆圈 |
s | 方块 |
x | 叉号 |
+ | 加号 |
* | 星号 |
d | 菱形 |
v | 倒三角 |
^ | 倒三角 |
< | 左三角 |
> | 右三角 |
p | 五角星 |
h | 六角形 |
颜色 | 说明 |
---|---|
y | 黄色 |
m | 粉色 |
c | 青色 |
r | 红色 |
g | 绿色 |
b | 蓝色 |
w | 白色 |
k | 黑色 |
1.线宽、符号的设定
- LineWidth: 指定线宽,默认为0.5
- Marker:指定标记类型
- MarkerIndices:显示标记的数据点的索引
- MarkerEdgeColor:标记轮廓颜色
- MarkerFaceColor:标记填充颜色
- MarkerSize:标记大小
示例:绘制多个线条
x=linspace(0,2*pi,100);
y1=sin(x);
y2=cos(x);
figure();
%plot(x,y1,x,y2);
plot(x,y1,'-r*','LineWidth',2,'MarkerSize',10);
plot(x,y2,'-b+','LineWidth',2,'MarkerSize',10);
再例如:
x=linspace(0,2*pi,100);
y1=sin(x);
y2=sin(x+0.5);
y3=sin(x-0.5);
figure();
%plot(x,y1,'k',x,y2,'--',x,y3,':');
plot(x,y1,'-r*','LineWidth',2,'MarkerSize',10);
plot(x,y2,'-b+','LineWidth',2,'MarkerSize',10);
在指定地点进行标记
x=linspace(0,2*pi,100);
y1=sin(x);
plot(x,y1,'-o');
x1=linspace(0,2*pi,10);
y2=sin(x1);
plot(x1,y2,'-o','MarkerIndices',1:5:length(y2));
%用行向量绘制标记
指定线宽,标记大小、颜色、填充
x=linspace(0,2*pi,15);
y1=tan(sin(x))-sin(tan(x));
figure
plot(x,y1,'--gs','LineWidth',2,'MarkerSize',10,'MarkerEdgeColor','r','MarkerFaceColor',[0.5,0.5,0.5]);
先画线,再设定标记
x=linspace(0,2*pi,15);
y1=sin(x);
y2=cos(x);
p=plot(x,y1,x,y2);
p(1).LineWidth=2;
p(2).MarkerSize=10;
坐标控制
命令 | 含义 |
---|---|
axis auto | 使用默认设置 |
axis equal | 使坐标轴采用等长刻度 |
axis manual | 使当前坐标轴范围固定 |
axis off | 关闭坐标轴 |
axis on | 打开坐标轴 |
axis ij | 矩阵式坐标,原点在左上角 |
axis xy | 普通直角坐标,原点在左下角 |
axis([xmin,xmax,ymin,ymax]) | 设置坐标轴范围 |
axis([xmin,xmax,ymin,ymax,zmin,zmax]) | |
axis tight | 自动调整坐标轴范围,使坐标轴范围包含所有数据 |
axis fill | 填充坐标轴范围,使坐标轴范围包含所有数据 |
axis image | 横纵坐标采用等长刻度,且坐标紧贴数据范围 |
axis normal | 默认矩形坐标系 |
axis square | 正方形坐标系 |
axis vis3d | 保持宽高比不变,当用于三维旋转时,避免图形大小改变 |
添加文字信息
- title(‘’): 设置标题
- xlabel(‘’): 设置x轴标签
- ylabel(‘’): 设置y轴标签
- legend(‘’): 设置图例
- text(x,y,‘字符串’): 在坐标(x,y)处添加文字
图像窗口控制
- ax=gca:返回当前窗口的当前坐标区或图
- hold on:打开当前坐标区的hold功能,即允许在当前坐标区绘制多个图像
- hold off:关闭当前坐标区的hold功能,即不允许在当前坐标区绘制图像
- hold(ax, ):为ax指定的坐标区设为hold状态
- grid on:打开网格格线
- grid off:关闭网格格线
例子:
x=linspace(0,2*pi,100);
y1=sin(x);
plot(x,y1);
y2=cos(x);
hold on;
plot(x,y2);