当前位置:   article > 正文

MATLAB绘图必看,画图大全!MATLAB绘图基础操作大全—折线图、散点图、颜色样式、线条粗细汇总_matlab画图线型、符号及颜色汇总

matlab画图线型、符号及颜色汇总

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


一、颜色大全

颜色符号对应颜色
r红色
g绿色
b蓝色
c青绿色
m粉红色
y黄色
k黑色
w白色

二、线条符号大全

标记符号对应颜色
加号
o空心圆
‘*’星号
x
d菱形
^上三角形
p(pentagram)五角星
h(hexagram)六边形
s(square)正方形
线性符号含义
-实线(默认)
双划线
:虚线
:.点划线

2.折线图绘制

代码如下(示例):

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);
  • 1
  • 2
  • 3

该处使用的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,'*');
  • 1
  • 2
  • 3

在这里插入图片描述

四、折线图绘制

只要在散点图的基础上,加上线性符号,例如“-”即可,把相应的散点图改为折线图只需要在标记符号前面加上线型符号即可
代码如下(示例):

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
  • 2
  • 3

在这里插入图片描述

五、添加图例、题目、坐标轴(题目)

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','宋体');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述
2.添加坐标、指定坐标

set(gca,'XLim',[-50 50]);        %X轴的数据显示范围
set(gca,'XTick',[-50:10:50]);    %设置要显示的坐标刻度
set(gca,'YLim',[0 100]);         %Y轴的数据显示范围
set(gca,'YTick',[0:10:100]);     %设置要显示的坐标刻度
  • 1
  • 2
  • 3
  • 4

3.添加图片标题
当绘制出一个曲线之后,可以采用 title 函数为绘图增加标题。具体的代码格式如下所示:

      plot(x, y, 'r')
      title('这是你绘制的曲线');
  • 1
  • 2

4.添加坐标轴题目

    xlabel(‘x轴的名称’);
    ylabel(‘y轴的名称’);
  • 1
  • 2
	axis([xmin xmax ymin ymax]); % 设置坐标轴在指定的区间
	%xmin、xmax 表示设置横坐标的最小最大值;
	%ymin、ymax 表示设置纵坐标的最小最大值。
	
	set(handles,‘xtick’,0100:2500) % handles可以指定具体坐标轴的句柄
	%功能: 设置X轴坐标范围02500,显示间隔是100set(handles,‘ytick’,0100:2500) % handles可以指定具体坐标轴的句柄
	%功能: 设置X轴坐标范围02500,显示间隔是100
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

六、画图时显示或隐藏坐标区域网格

1.显示网格线
在绘图代码最后加上语句 grid on
代码如下(示例):

	x = 1:10;
	y = rand(1,10);
	plot(x,y);
	grid on;  %显示网格语句
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

2.显示次网格线
在绘图代码最后加上语句 grid on 和 grid minor
代码如下(示例):

	x = 1:10;
	y = rand(1,10);
	plot(x,y);
	grid on  %显示网格语句
	grid minor   %显示次网格语句
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

3.不显示网格线
不显示网格有两种方法
第一种,不添加任何关于网格线的语句,即不添加grid on 和 grid minor,直接绘图

	x = 1:10;
	y = rand(1,10);
	plot(x,y);
  • 1
  • 2
  • 3

第二中,在grid on 和 grid minor语句后面添加语句grid off

	x = 1:10;
	y = rand(1,10);
	plot(x,y);
	grid on  %显示网格语句
	grid minor   %显示次网格语句
	grid off  %删除网格线
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

以上两种方式均可实现下图效果
在这里插入图片描述
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
  • 2
  • 3
  • 4
  • 5
  • 6

效果如下;
在这里插入图片描述

七、同一个图片绘制多个图像、绘制多幅图

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);  %绘制第二条曲线
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

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 中绘制曲线
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

figure 1
在这里插入图片描述
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); %创建一个22列的多重子图,并取第1张开始绘画
	plot(x,y(1,:),'-o','color','b','MarkerSize',8);
	grid on    %添加图片网格
	subplot(2,2,2);  %绘制一个22列的多重子图,总计第2张图
	plot(x,y(2,:),'-o','color','r','MarkerSize',8);
	grid on
	subplot(2,2,3);  %绘制一个22列的多重子图,总计第2张图
	plot(x,y(3,:),'-o','color','b','MarkerSize',8);
	grid on
	subplot(2,2,4);  %绘制一个22列的多重子图,总计第2张图
	plot(x,y(4,:),'-o','color','r','MarkerSize',8);
	grid on
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

结果如下:
在这里插入图片描述
还可以加上横纵坐标轴名称和标题:(以第一张图为例,其余类似)

	x = [1 2 3 4 5];
	y = rand(4,5);
	subplot(2,2,1); %创建一个22列的多重子图,并取第1张开始绘画
	plot(x,y(1,:),'-o','color','b','MarkerSize',8);
	xlabel("X轴名称");  %添加x轴名称
	ylabel("Y轴名称");  %添加y轴名称
	title('图片一图片一');  % 添加标题
	grid on    %添加图片网格
	subplot(2,2,2);  %绘制一个22列的多重子图,总计第2张图
	plot(x,y(2,:),'-o','color','r','MarkerSize',8);
	grid on
	subplot(2,2,3);  %绘制一个22列的多重子图,总计第2张图
	plot(x,y(3,:),'-o','color','b','MarkerSize',8);
	grid on
	subplot(2,2,4);  %绘制一个22列的多重子图,总计第2张图
	plot(x,y(4,:),'-o','color','r','MarkerSize',8);
	grid on
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

在这里插入图片描述

总结

本文对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=

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/96890
推荐阅读
相关标签
  

闽ICP备14008679号