Matlab画图相关知识

article/2025/11/7 3:10:53

目录

一、绘制不同种类的图像

1.1.画一般曲线图

1.2.绘制柱状图

 二、matlab的图像处理

2.1将多张图同时绘制在一个Figure上面,采用subplot函数

2.2改变matlab图像坐标刻度增长幅度

2.3设置坐标轴刻度为任意值

 2.4在一张Figure中用同一个x对应两个y作图

2.5关于ylim函数,ylabel函数,yticks函数的说明(x同理)

2.5.1 ylim函数

2.5.2 ylabel函数

2.5.3 yticks函数

 三、用matlab画三维柱状图



    最近用matlab画图,在这边做一个简单总结,以后还需要逐渐丰富内容。

一、绘制不同种类的图像

        matlab最常用的绘图命令也就是plot,以下是几种较为常用的绘图方法。

1.1.画一般曲线图

        输入以下代码绘制简单的sin函数曲线

        运行结果如下:

         可以看到运行结果平滑度很差,这是有由于matlab是以描点连线的方式来作图的,x=1:20默认间隔是以1来绘制点,也就是说此时matlab画出了20个点,然后连线做的图像,所以导致图像不平滑,此时可以通过设置点和点的间距来使得图像变平滑,改变输入x的方式如下:

         此时的运行结果如下:

         可以看到此时平滑程度较高。

1.2.绘制柱状图

        在matlab中用bar函数来绘制柱状图:

如果想要每个柱的颜色都不相同,可以参考以下代码:

x=[1,2,3,4,5]
y=[5,4,3,2,1]
width=0.8;
hold on     %至关重要!!!
for i=1:length(y)h=bar(i,y(i),width)if y(i)==1set(h,'FaceColor','b');else if y(i)==2set(h,'FaceColor','y');else if y(i)==4set(h,'FaceColor','g');elseset(h,'FaceColor','r');endendend
end
xlabel('x轴')
ylabel('y轴')

运行结果如下图所示:

         注意一定要用hold on避免图像被刷新。

3.matlab画散点图

        matlab通过scatter函数画散点图,参考代码如下:

x=[1 2 3 4 5 6 7 8 9 10]
y=[4 8 6 1 2 4 7 6 9 11]
h=scatter(x,y,'*')

        输出结果如下:

 二、matlab的图像处理

2.1将多张图同时绘制在一个Figure上面,采用subplot函数

例如:

subplot(3,1,1),将一张Figure分成三行一列,此时画的这张图在第一个位置上

subplot(3,1,2),将一张Figure分成三行一列,此时画的这张图在第二个位置上

subplot(3,1,3),将一张Figure分成三行一列,此时画的这张图在第三个位置上

即subplot函数第一个变量指的是行数,第二个变量指的是列数,第三个变量指的是当前所画的图出现的位置。

结果如下图所示:

 透过这张模糊的图像可以看到结果大致是这样的。

2.2改变matlab图像坐标刻度增长幅度

        在绘制matlab图像的时候,就算设置了x轴和y轴的坐标范围,但是软件会自动给出合适的坐标增量,例如我希望x轴是从0-20以1为间隔增长,但是matlab默认画出的图像如下:

     

         可以看出matlab自动设置以2为增幅进行增长,若想要改变增幅,以下介绍两种方法。

        第一种方法是通过matlab生成图像时的属性检查器改变,缺点是每张图片都需要重新进行点击修改,图片数量过多的时候会很麻烦。操作过程如下:

        首先随便画出一张图,点击属性检查器,如下图:

        之后双击曲线可以改变曲线颜色,并且可以给曲线加特殊标记,例如在每个转折点处加小圆点,小方块等等。双击空白处可以选择图像中字体,字号等等参数信息,其中Fontsize是一次性改变整张图中的字号大小,双击坐标轴手动输入坐标值改变坐标轴增量信息,以x轴为例,如下图所示:

         可以看出横轴增量从2变成1,但是这种方法比较麻烦,通常这种方法用来改变图像的字体字号等外观信息比较方便一点。

        第二种方法是通过代码的方法进行修改,核心代码如下:

axis([1 20 0 15])
xticks(1:1:20)
yticks(0:2:15)

        其中,axis函数的意思是设置横纵坐标范围,本例中横坐标是从1-20,纵坐标是从0-15,由于我期望输出的图像横坐标是从1开始到20,如果不用axis函数设置的话,而直接用下面两行代码设置的话,会出现x在0-1的时候没有对应y值,即出现空白区域,如下图所示:

        通过axis函数设置,可以使得图像横坐标强行从1开始画起,避免了0-1空白区域的尴尬,之后xticks函数和yticks函数分别设置x轴和y轴的范围

        例如xticks(1:1:20) ,第一个参数1是指横坐标从1开始,第二个1指的是增量幅度为1,第三个参数20指的是画到x=20的时候,同理yticks函数是设置纵坐标的,下图是结果展示:

2.3设置坐标轴刻度为任意值

         有时候画图的时候只需要显示个别刻度,这时候依旧可以采用xticks和yticks函数,以x轴为例,我期望x轴刻度只显示0,2,18这三个数字,核心代码如下:

        注:需要和xlim([])共同使用

        set函数改变坐标轴字体以及刻度大小

xticks([0 2 18])
set(gca,'FontSize',13);

        输出图像结果如下:

 2.4在一张Figure中用同一个x对应两个y作图

         在matlab作图的时候,有时候会遇到一个x对应两个y,因此可以画出两条曲线,但是这两个y值不一样,那么这时候可以将Figure的左右两边设置两种刻度,这样就可以把两条x取值相同,但是y取值不同的两条曲线作到同一张图片里面,之后可以通过设置颜色,以及添加标签等方式对这两条曲线进行区分,能够在Figure中直观看到两种曲线,核心函数是yyaxis函数,举例如下:

x=[0 1 2 3 4 5 6 7 8 9];
y1=[10 9 8 7 6 5 4 1 2 3];
y2=[5 6 1 2 3 5 4 3 2 1];
hold on
yyaxis left;
plot(x,y1,'--r')
ylabel('y1轴')
yyaxis right;
plot(x,y2,':k')
xlabel('x轴')
ylabel('y2轴')
legend('我是y1','我是y2')

        其中yyaxis left是将坐标轴设置在左侧,yyaxis right是将坐标轴设置在右侧,matlab会自动设置两种颜色来绘制图像,之后我用legend函数对两种曲线进行标识,若需要在word中黑白打印,为了区分两条曲线,可以设置两种曲线的格式,常用曲线格式以及颜色如下表:

H1=plot(x,y1,'.-r'),输入折线直接在拐点处带小实心点

输出结果如下:

        从图像可以看出,通过这种方法可以实现两种y轴下的两条曲线绘制在同一个Figure中。

2.5关于ylim函数,ylabel函数,yticks函数的说明(x同理)

2.5.1 ylim函数

        该函数是用来设置或查询 y 轴范围。

        使用方法:接下来是摘自比较官方的语言

ylim(limits) % 设置当前坐标区或图的 y轴范围,limits 为 [ymin,ymax] 形式的向量(ymax > ymin)

ylim auto % 设置自动模式,使坐标区自动确认 y 轴范围(即此命令会将坐标区的 YLimMode 属性设置为 auto)

ylim manual % 设置手动模式,将范围冻结在当前值(即此命令会将坐标区的 YLimMode 属性设置为 manual)此命令用在 hold on 命令向坐标区添加数据时保留当前范围

m = ylim('mode') % 返回当前 y 轴范围模式(auto 或 manual)

___ = ylim(target,___) % 对 target 指定到的坐标区或图进行上述设置

半自动 y 轴范围:limits 指定的向量 [ymin,ymax] 中的一个为具体数值,一个为无穷大(无穷大方向由 MatLab 自动确认)

        我自己使用直接ylim([-10 10]),意思就是输出的图像的y轴只显示-10到10的范围

        例如,在2.4中所写代码中加入这一行,结果也会随之改变,如下图:

2.5.2 ylabel函数

        该函数是用来给y轴写标签用的,比如2.4中的例子

2.5.3 yticks函数

        该函数主要是用来改变y轴刻度的,见2.2-2.3的例子

 三、用matlab画三维柱状图

        目标:将两个三维柱状图绘制到一个图像中

        实际应用:官方误差与实际误差

        代码:

figure()
bar3(B,'y')                                           %绘制三维柱状图,B为数组,y为颜色黄色
alpha(0.1)                                            %设置透明度函数,取值0-1,越小越透明
hold on                                               %在现有图像基础上继续作图
bar3(F,'c')                                           %绘制三维柱状图,F为数组,c为颜色亮青色
ylabel('连锁故障类型')                                 %设置y轴标签
set(gca,'yticklabel',{'大风低高穿',...
'大风高低穿','小风低高穿','小风高低穿'});                %设置y轴刻度标签
xlabel('区间')                                        %设置x轴标签
set(gca,'XTick',[1,2,3,4,5,6,7,8,9,...
10,11,12,13,14,15,16,17,18,19]);                      %设置x轴刻度标签位置
set(gca,'xticklabel',{'F1A','F3A','F5A',...
'F1B1','F3B1','F5B1','F2B1','F4B1','F1B2',...
'F3B2','F5B2','F2B2','F4B2','F1C','F3C',...
'F5C','F2C','F4C','FGP'});                            %设置x轴刻度标签对应的名字
zlabel('有功功率误差')                                 %设置z轴标签

        注:在不设置x轴刻度标签位置的情况下,matlab默认以2为单位显示刻度,因此不能将全部设置的x轴刻度标签显示出来,因此需要加xtick函数,确定标签位置,也可以在前面所述的属性检查器中修改刻度。

四、将公式直接写入图中

        代码:

%%
%测试将公式加入图片中
x = 1:1:10;
y = xfigure(1)
plot(x,y)figure(2)  %选取一个花里胡哨的公式测试效果
plot(x,y)
str = ['$$\left[\begin{array}{c}\dot{U}_{2} \\\dot{I}_{2}\end{array}\right]...' ...'=\left[\begin{array}{cc}\cos \lambda_{2} & \mathrm{j} Z_{2} \sin \lambda_{2}...' ...' \\\mathrm{j} Z_{2}^{-1} \sin \lambda_{2} & \cos \lambda_{2}\end{array}...' ...'\right]\left[\begin{array}{l}\dot{U}_{3} \\\dot{I}_{3}\end{array}\right]$$']
text(5,5,str,'interpreter','latex','FontSize',10)

展示效果:

备注:

1.公式位置以及大小:

上述代码中的text中(5,5)是公式坐标位置,10是公式字体大小

2.数学公式转化为Latex公式方法:

网址:在线LaTeX公式编辑器-编辑器 (latexlive.com)

         进入网址后注册,注册完毕选择图片识别,将所需要的公式ctrl+V直接复制到识别区域,自动转化为Latex公式,将Latex代码进行复制。

        注意:若数学公式过长,转化出的Latex可能不在一行,需要手动转化为一行(与word换行变成一行同理),matlab中的代码为:str = %%Latex代码%%,若matlab中一行太长不美观,可以在适当位置加入...后回车,如上代码所示

        同理,也可以将Latex代码直接复制到word里面的mathtype公式编辑器中,可以实现公式图片转成mathtype公式。


http://chatgpt.dhexx.cn/article/WS6tcryA.shtml

相关文章

MATLAB画图使用不同的线型、点及标记

转载自:MATLAB画图使用不同的线型、点及标记 (baidu.com) 一、 线型、连续标记 先从最普通的说起。在plot函数中指定线型。 tlinspace(0,5,20); x1 t; x2 2*t; x3 3*t; x4 4*t; plot(t,x1,b,t,x2,g-o,t,x3,r*,t,x4,c:d); 这是基础的比较简单的情况。不做…

MATLAB绘图

在MATLAB中绘制函数图形的步骤如下: 先定义变量 x,通过指定的变量 x 值的范围,该函数被绘制; 然后定义函数, y f(x); 最后调用 plot 命令,如 plot(x, y)。 接下来我们通过例子绘制简单的函…

matlab画图入门教程

**matlab画图:**图像是数据结果的一种可视化表现,它能直观的体现你的数据结果,并且能体现你获得结果的准确性,在当前的大数据时代,在做数据分析的时候,将其可视化可以直观多维的展示数据,可以让…

MATLAB——画图(经典)

plot 二维线图全页折叠 #语法 plot(X,Y) plot(X,Y,LineSpec) plot(X1,Y1,…,Xn,Yn) plot(X1,Y1,LineSpec1,…,Xn,Yn,LineSpecn) plot(Y) plot(Y,LineSpec) plot(___,Name,Value) plot(ax,___) h plot(___) 说明 示例 plot(X,Y) 创建 Y 中数据对 X 中对应值的二维线图。 如果 …

MATLAB 画图

目录 图形对象属性 坐标轴 散点图 Line 属性 imagesc histogram 直方图 subplot 图像保存 其他 图形对象属性 set 设置图形对象属性 set(H,Name,Value):为 H 标识的对象指定其 Name 属性的值 p plot(1:10); set(p,Color,red)% 更改特定线条的颜色gca 当…

【Matlab】MATLAB绘图

专题四 MATLAB绘图 绘图的目的是使数据可视化。 一 二维曲线 1. 函数plot() 在MATLAB中,函数plot()是最基本的绘图函数,利用它可以绘制出不同的二维曲线。函数plot()的基本用法: plot(x, y) % 其中,x和y分别用于存储x坐标和y坐标数据,通常x和y是长度相等的向…

Matlab 几种画图方式总结

函数形式/画图原理 1.显函数--- y f ( x ) 2.隐函数--- f (x , y ) 0 3.参数式--- x f ( x ) , y f ( y ) 4.极坐标--- 针对以上函数图像的绘制,有两种绘图方法: 1:找点画线; 2:根据定义域和函数关系画图&…

Matlab中的画图函数

目录 一、二维曲线和图形 1、二维图像基本命令plot (1). 曲线线型、颜色和标记点类型 (2). 设置曲线线宽、标记点大小,标记点边框颜色和标记点填充颜色等。 (3). 坐标轴设置 (4). 坐标轴刻度设置 (5). 图例 (6). 更多的设置 二、 图形的控制与表现 1&…

MATLAB-画图汇总

画图之前建议先想好自己要画什么样的图,再去找相关代码。 本文汇总了一些matlab画图代码和修饰指令。 画图指令 连线图-plot 连线图就是连接一个又一个的点,最后形成一个图(折线图),但是当对进行限制,比…

matlab 找到数组中第一个不连续点_超全Matlab绘图方法整理

你好,我是 goldsunC让我们一起进步吧! 使用Matlab绘图 图像是结果的一种可视化表现,它能直观的体现你的结果,并且能体现你获得结果的准确性,在当前的大数据时代,在做数据分析的时候,将其可视化可以直观多维的展示数据,可以让人们更好的发现并且记住数据的特征,因此很多…

Matlab 学习(三)之绘图

一:二维绘图 1.1 plot 直角系绘图 首先要先绘图,日常绘图就要先描点,然后连点成线。在Matlab中绘图也是如此。 plot(x,y) 这里 x, y 都是向量,以 x 中的元素为横坐标, y 中的元素为纵坐标,作平面曲线。向量…

MATLAB 绘图

一、绘图的基本步骤 在MATLAB中绘制图形,通常采用以下7个步骤 1.准备数据 准备好绘图需要的横坐标变量和纵坐标变量数据。 2.设置当前绘图区 在指定的位置创建新的绘图窗口,并自动以此窗口的绘图为当前绘图区。 3.绘制图形 创建坐标轴,指定叠…

matlab之画图

目录 1. 横纵坐标轴 2. 格点显示 3. 图、窗体Figure1的命名 4. 多个图形叠加绘制 5. 频谱图 5.1 已知信号画频谱图 5.2 已知传输函数画频谱图 1. 横纵坐标轴 横纵坐标轴标签: x -pi: 0.01: pi; figure, plot(x, cos(x)); xlabel(“x axis”); ylabel(“y axi…

MATLAB画图——基础篇

MATLAB画图——基础篇 在MATLAB使用的过程中,学会画图是一项必要的技能。在这里,我总结了部分简单的画图函数,同时附上代码(本文中的程序为了方便给出的数据都很简单,大家可以自己去尝试其他数据)。这对刚…

MATLAB基本绘图

一.基本命令: plot(); 绘图命令 hold on,hold off 清除之前的图形 legend();多图标注 xlabel(); ylabel(); zlable(); title(); text();文本 annotation();用于在图上绘制符号 关于图像字体和轴的设置命令 二.命令介绍 2.1 plot(); 绘图命令 %hold on,…

数学建模之MATLAB画图汇总

1. 二维数据曲线图 1.1 绘制二维曲线的基本函数 1.plot()函数 plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。 例: t0:0.1:2*pi; x2 * t; yt.*sin(t).*sin(t);…

必须收藏的MATLAB画图指南

目录 一、图像标签和注释 标签函数 注释函数 标签属性 注释属性 二、坐标区设置 坐标区范围和纵横比函数 网格线、刻度值和标签函数 多个绘图函数 清除或创建坐标区 属性 三、线图 线图函数 对数图函数 函数图 线图属性 四、数据分布图 分布图 气泡图 散点…

Matlab 画图(全网最优质文章)

文章目录 画图基本指令一、散点图1.最基础的散点图2.函数专用散点图3.设置圆圈大小的散点图 二、折线图1.一条线2.多条线在这里插入图片描述 三、柱状图(三种)1.最基础的柱形图2.多变量柱形图3.三维的柱形图4.堆叠形柱形图5.水平柱形图 四、火柴棍图&…

Android APK反编译技巧全讲解

Android APK反编译技巧全讲解 导言:在我们安卓开发当中,我们不仅需要掌握基础的开发技能,也需要掌握软件的安全技能,这样才可以让我们的软件能够成为一款能够真正可以进行发布的软件,同时也可以让自己的核心技术不会被…

Apk反编译再打包

Apk反编译再打包 近期研究了一下Apk反编译技术,在网上找了很多资料,进行了实践,成功完成了apk反编译,修改代码,再打包编译的过程。这个过程耗费了我3天的时间,踩了很多坑。记录下来,便于我以后…