提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
颜色符号 | 对应颜色 |
---|---|
r | 红色 |
g | 绿色 |
b | 蓝色 |
c | 青绿色 |
m | 粉红色 |
y | 黄色 |
k | 黑色 |
w | 白色 |
标记符号 | 对应颜色 |
---|---|
+ | 加号 |
o | 空心圆 |
‘*’ | 星号 |
x | 叉 |
d | 菱形 |
^ | 上三角形 |
p(pentagram) | 五角星 |
h(hexagram) | 六边形 |
s(square) | 正方形 |
线性符号 | 含义 |
---|---|
- | 实线(默认) |
– | 双划线 |
: | 虚线 |
:. | 点划线 |
代码如下(示例):
x1 = [50 60 70 80 90 96];
y1_A = [1.0159 1.2227 1.2755 1.2845 1.4111 1.5173];
plot(x1,y1_A,'-*','color','b','MarkerSize',8);
该处使用的url网络请求的数据。
使用plot函数,不加线性符号即可
代码如下(示例):
x1 = [50 60 70 80 90 96];
y1_A = [1.0159 1.2227 1.2755 1.2845 1.4111 1.5173];
plot(x1,y1_A,'*');
只要在散点图的基础上,加上线性符号,例如“-”即可,把相应的散点图改为折线图只需要在标记符号前面加上线型符号即可
代码如下(示例):
x1 = [50 60 70 80 90 96];
y1_A = [1.0159 1.2227 1.2755 1.2845 1.4111 1.5173];
plot(x1,y1_A,'-*');
1.添加图例
使用语句
x1 = [50 60 70 80 90 96];
y1_A = [1.0159 1.2227 1.2755 1.2845 1.4111 1.5173];
y1_B = [1.7478 1.9648 2.1945 2.8580 3.0087 3.2728];
plot(x1,y1_A,'-*','color','b','MarkerSize',8);
hold on
plot(x1,y1_B,'-o','color','g','MarkerSize',8);
legendText = legend('图例1','图例2','FontSize', 10,'FontName','宋体');
set(gca,'XLim',[-50 50]); %X轴的数据显示范围
set(gca,'XTick',[-50:10:50]); %设置要显示的坐标刻度
set(gca,'YLim',[0 100]); %Y轴的数据显示范围
set(gca,'YTick',[0:10:100]); %设置要显示的坐标刻度
3.添加图片标题
当绘制出一个曲线之后,可以采用 title 函数为绘图增加标题。具体的代码格式如下所示:
plot(x, y, 'r')
title('这是你绘制的曲线');
4.添加坐标轴题目
xlabel(‘x轴的名称’);
ylabel(‘y轴的名称’);
axis([xmin xmax ymin ymax]); % 设置坐标轴在指定的区间
%xmin、xmax 表示设置横坐标的最小最大值;
%ymin、ymax 表示设置纵坐标的最小最大值。
set(handles,‘xtick’,0:100:2500) % handles可以指定具体坐标轴的句柄
%功能: 设置X轴坐标范围0到2500,显示间隔是100;
set(handles,‘ytick’,0:100:2500) % handles可以指定具体坐标轴的句柄
%功能: 设置X轴坐标范围0到2500,显示间隔是100;
1.显示网格线
在绘图代码最后加上语句 grid on
代码如下(示例):
x = 1:10;
y = rand(1,10);
plot(x,y);
grid on; %显示网格语句
2.显示次网格线
在绘图代码最后加上语句 grid on 和 grid minor
代码如下(示例):
x = 1:10;
y = rand(1,10);
plot(x,y);
grid on %显示网格语句
grid minor %显示次网格语句
3.不显示网格线
不显示网格有两种方法
第一种,不添加任何关于网格线的语句,即不添加grid on 和 grid minor,直接绘图
x = 1:10;
y = rand(1,10);
plot(x,y);
第二中,在grid on 和 grid minor语句后面添加语句grid off
x = 1:10;
y = rand(1,10);
plot(x,y);
grid on %显示网格语句
grid minor %显示次网格语句
grid off %删除网格线
以上两种方式均可实现下图效果
4.特定方向显示网格线
通过访问 Axes 对象并设置 XGrid、YGrid 和 ZGrid 属性,可在特定方向显示网格线。这些属性可以设置为 ‘on’ 或 ‘off’。 'on’显示,'off’不显示。
例如,创建二维图像且仅在 y 方向显示网格线。
x = 1:10;
y = rand(1,10);
plot(x,y);
ax = gca;
ax.XGrid = 'off'; %off表示不显示网格线
ax.YGrid = 'on'; %on表示显示网格线
1.同一个图中绘制多条曲线
使用语句hold on
代码如下(示例):
x1 = 1:10;
y1 = rand(1,10);
x2 = 1:10;
y2 = rand(1,10);
plot(x1,y1); %绘制第一条曲线
hold on %继续在图像里绘制曲线
plot(x2,y2); %绘制第二条曲线
2.绘制多幅图
使用语句figure(n),n表示生成的第几个图窗
使用方法:在使用plot函数绘图之前加上figure(n),表示在图n中作曲线,生成的图像被命名为figure n
代码如下(示例):
x1 = 1:10;
y1 = rand(1,10);
x2 = 1:10;
y2 = rand(1,10);
figure(1) %第一张图片命名为figure 1
plot(x1,y1); %在图figure 1 中绘制曲线
figure(2) %第二张图片命名为figure 2
plot(x2,y2); %在图figure 2 中绘制曲线
使用语句subplot(m,n,k),m表示第m行,n表示第n列,k表示从左往右从上往下数第k个图
例如:subplot(2,2,4):表示创建一个2行2列的多重子图,现在绘制第四幅图(第二行第二列的图)
代码如下(示例):
x = [1 2 3 4 5];
y = rand(4,5);
subplot(2,2,1); %创建一个2行2列的多重子图,并取第1张开始绘画
plot(x,y(1,:),'-o','color','b','MarkerSize',8);
grid on %添加图片网格
subplot(2,2,2); %绘制一个2行2列的多重子图,总计第2张图
plot(x,y(2,:),'-o','color','r','MarkerSize',8);
grid on
subplot(2,2,3); %绘制一个2行2列的多重子图,总计第2张图
plot(x,y(3,:),'-o','color','b','MarkerSize',8);
grid on
subplot(2,2,4); %绘制一个2行2列的多重子图,总计第2张图
plot(x,y(4,:),'-o','color','r','MarkerSize',8);
grid on
结果如下:
还可以加上横纵坐标轴名称和标题:(以第一张图为例,其余类似)
x = [1 2 3 4 5];
y = rand(4,5);
subplot(2,2,1); %创建一个2行2列的多重子图,并取第1张开始绘画
plot(x,y(1,:),'-o','color','b','MarkerSize',8);
xlabel("X轴名称"); %添加x轴名称
ylabel("Y轴名称"); %添加y轴名称
title('图片一图片一'); % 添加标题
grid on %添加图片网格
subplot(2,2,2); %绘制一个2行2列的多重子图,总计第2张图
plot(x,y(2,:),'-o','color','r','MarkerSize',8);
grid on
subplot(2,2,3); %绘制一个2行2列的多重子图,总计第2张图
plot(x,y(3,:),'-o','color','b','MarkerSize',8);
grid on
subplot(2,2,4); %绘制一个2行2列的多重子图,总计第2张图
plot(x,y(4,:),'-o','color','r','MarkerSize',8);
grid on
本文对MATLAB绘图进行了最基本的概述,包括颜色、线型、描点符号,散点图折线图绘制,添加图片题目、图例、控制坐标范围,给图像添加或删除网格线等内容。
[1]https://blog.csdn.net/weixin_45839124/article/details/106439042?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168476007216800225570146%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=168476007216800225570146&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-106439042-null-null.142v87insert_down28,239v2insert_chatgpt&utm_term=MATLAB%E7%BB%98%E5%9B%BE%E6%B7%BB%E5%8A%A0%E6%A0%87%E9%A2%98&spm=1018.2226.3001.4187
[2]https://so.csdn.net/so/search?q=MATLAB%E7%BB%98%E5%9B%BE%E6%B7%BB%E5%8A%A0%E6%A0%87%E9%A2%98&t=&u=&urw=