MATLAB二维绘图

目录

1 绘图函数介绍

1.1 点型绘制 

1.2 颜色绘制 

1.3 线型绘制 

2 坐标轴状态与标识

2.1 坐标轴的控制

2.2 网格线、轴线分度以及标识

2.3 图形标识命令

3 多次叠绘与多子图

3.1 多次叠绘

3.2 多子图


1 绘图函数介绍

        二维绘图常用的函数就是plot函数,基本调用格式如下:

% x,y  横纵坐标
% s    用于表示点型、颜色与线型
plot(x,y,'s')

1.1 点型绘制 

点型预定义设置符
.实心点
*米字符
+十字符
x叉字符
o空心圆圈
s方块符
d菱形符
p五角星符
h六角星符
<向左三角符
>向右三角符

示例代码:

x = -10:0.1:10;  %x轴
y = 2*x+2;   %y轴
plot(x,y,'x');  %绘图,叉字符

运行效果如下(figure图像坐标已拉伸放大):

1.2 颜色绘制 

颜色预定义设置符
b蓝色
g

绿色

r红色
c青色
m紫红
y黄色
k黑色
w白色

示例代码:

x = -10:0.1:10;  %x轴
y = 2*x+2;   %y轴
plot(x,y,'xr');  %绘图,叉字符,红色

运行效果如下:

1.3 线型绘制 

线型预定义设置符
-细实线
点线
-.点画线
--虚线

示例代码:

x = -10:0.1:10;  %x轴
y = 2*x+2;   %y轴
plot(x,y,'xr:');  %绘图,叉字符,红色,点线

运行效果如下:


2 坐标轴状态与标识

2.1 坐标轴的控制

常用坐标轴控制命令
axis on显示坐标轴
axis off取消坐标轴
axis auto使用默认设置
axis xy直角坐标系,原点位于左下方
axis ij矩阵式坐标系,原点位于左上方
axis normal矩形坐标系
axis square正方形坐标系
axis equal横纵坐标等长刻度
axis([xmin,xmax,ymin,ymax])设定横纵坐标范围
xlim设定x轴范围
ylim设定y轴范围

示例代码:

x = -10:0.1:10;  %x轴
y = 2*x+2;   %y轴
plot(x,y,'xr:');  %绘图,叉字符,红色,点线
axis ([-15,15,-30,30]);  %x轴范围从-15到15,y轴范围从-30到30

运行效果如下: 

【注意】:MATLAB中默认画图时采用的是矩形坐标系,因此在绘制圆形时需选用横纵坐标等长的形式

theta = [0:0.001:2*pi];   %角频率范围
x = cos(theta);
y = sin(theta);
plot(x,y);   %绘制图形

 如上所示,运行效果为一个椭圆,并非我们所需要的正圆。

对代码稍作修改(添加axis equal):

theta = [0:0.001:2*pi];   %角频率范围
x = cos(theta);
y = sin(theta);
plot(x,y);   %绘制图形
axis equal

再运行:

 效果为我们所需要的正圆

2.2 网格线、轴线分度以及标识

网格线、轴线分度及标识控制命令
grid on显示坐标轴分度网格线
grid off隐藏坐标轴分度网格线
xticks(X)X为数值数组,指定x轴坐标分度位置
yticks(Y)Y为数值数组,指定y轴坐标分度位置
xticklabels(XS)XS为字符串元胞数组,用于x轴分度的标识
yticklabels(YS)YS为字符串元胞数组,用于y轴分度的标识

示例代码:

x = -10:0.1:10;  %x轴
y = 2*x+2;   %y轴
plot(x,y,'xr:');  %绘图,叉字符,红色,点线
xticks([-10,-5,0,5,10]);  %取x轴分度位置
yticks([-15,0,15,20]);    %取y轴分度位置

运行效果如下:

此时坐标轴只显示所指定的坐标 

2.3 图形标识命令

图形标识命令
title图形窗顶部加图名
xlabel横坐标轴名
ylabel纵坐标轴名
text(x,y,'s')在(x,y)处写字符注释
legend生成图例

 示例代码:

x = -10:0.1:10;  %x轴
y = 2*x+2;   %y轴
plot(x,y,'xr:');  %绘图,叉字符,红色,点线
title('y=nx+2');  %显示标题
xlabel('x');   %显示x轴名称
ylabel('y');   %显示y轴名称
text(0,2,'2'); %在(0,2)处注释2
legend('y=2x+2');  %显示图例

运行效果如下:


3 多次叠绘与多子图

3.1 多次叠绘

方法一:调用plot(x1,y1,x2,y2,....),MATLAB可以自动以不同颜色绘制不同曲线

示例代码:

x = -10:0.1:10;  %x轴
y1 = 2*x+2;   %y1
y2 = 4*x+1;   %y2
plot(x,y1,x,y2);  %绘图

运行效果如下:

方法二: 使用hold on命令,开启“保持”,可以保持图形不被覆盖

示例代码:

x = -10:0.1:10;  %x轴
y1 = 2*x+2;   %y1
y2 = 4*x+1;   %y2

plot(x,y1);
hold on;
plot(x,y2);  

运行效果与方法一一致 

3.2 多子图

        在一个图形窗中绘制多个子图,需要调用subplot(m,n,k)函数,m,n分别指子图的行数和列数,k是子图的编号,编号默认从左向右,从上到下依次编号

示例代码:

x = -10:0.1:10;  %x轴
y1 = 2*x+2;   %y1
y2 = 4*x+1;   %y2

subplot(2,1,1);
plot(x,y1);
hold on;
subplot(2,1,2);
plot(x,y2);  

运行效果如下:

var code = "d41b18e2-c489-42d0-8e67-d3d5f14a71a5"