MATLAB绘图:plot函数与bar函数详解

2023-05-16

MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。我们可以利用它方便快捷的进行矩阵运算、绘制函数和数据、图像处理。
前一段时间作者在进行毕业设计时使用MATLAB绘制了论文中的一系列插图(包括曲线图、柱状图等),自我感觉其确实是一个必不可少的实用性工具,所以在这里为大家简单介绍一下MATLAB中的基本绘图命令。

plot函数

plot函数应该是matlab中最常用的绘图命令了,可以直接绘制二维图/三维图,同时我们可以控制绘制图形的marker来确定是绘制折线图还是散点图。
其最简单的用法为直接使用plot(X)。
例如:

plot(X); % X为一个列向量或行向量

这时,效果如下图所示,在图中我们可以发现matlab默认把X向量的下标作为了自变量,把对应存储的值作为因变量。
在这里插入图片描述

当然我们也可以直接输入(X, Y)两个向量,也可以为矩阵或者是参数和你想编辑的任意公式,分别作为自变量与因变量。例如:

X = 1: 1: 10;% 生成自变量X
Y = 1: 1: 10;% 生成因变量Y
plot(X, Y);% 绘制图形

好了,就是这么简单,我们已经了解了plot函数的基本用法,而且好像可以绘图了,但是这还远远不够,我们还想要控制图形的颜色,线宽,标识符应该怎么做呢?这就需要我们在后续设置一些参数了。
例如我们把plot(X, Y);修改为下述代码来设置颜色及标识符。

plot(X, Y, '.r');% 标记点为红色 . 的散点图
plot(X, Y, '*r');% 标记点为红色 * 的散点图
plot(X, Y, '-*r');% 带标记的红色曲线图

常用的颜色有:
‘r’ 红色
‘g’绿色
‘b’蓝色
‘k’黑色
‘m’品红
我们可以看一下最后一个命令画出的图形形状:
在这里插入图片描述
设置线宽及标识符代码需要另外加入参数’LineWidth’与’MarkerSize’
例如:

plot(X, Y, '-r','Marker', '*', 'LineWidth', 1.5, 'MarkerSize', 10);

其他还有一些参数我就不过多介绍了,大家自行探索!

还有一个问题是刚才我们所谈的都是对于一张图中的一条曲线,但是如果我们想要在一个图中画多条曲线呢应该怎么办呢?很简单,只需要在plot函数后面加入hold on; 就可以了。

示例:

X1 = 1: 1: 10;
Y1 = 1: 1: 10;
X2 = 1: 1: 10;
Y2 = 0.5: 0.5: 5;
plot(X1, Y1, '-r','Marker', '*', 'LineWidth', 1.5, 'MarkerSize', 10);
hold on;
plot(X2, Y2, '-r','Marker', '*', 'LineWidth', 1.5, 'MarkerSize', 10);

在这里插入图片描述
到目前为止,我个人认为我们已经介绍了关于plot函数的基本用法。

bar函数

我们在上面详细介绍了plot函数的用法及参数设置,plot函数在画散点图以及曲线图确实非常方便,但是有些情况我们想要使用柱状图来表达一些变量的统计分布,那么这就要使用bar函数了。
bar函数与plot函数非常类似,最常用的用法为:bar(X, Y);
示例:

X = 1: 1: 10;
Y = 1: 1: 10;
bar(X, Y); % X,Y中的值相互对应

在这里插入图片描述
当然,类似的,我们也可以调整颜色等参数(以及边缘线的粗细,颜色等这里就不做介绍了)

bar(X, Y, 'r'); 

最后我们再列举一个关于画一个矩阵的柱状图参数设置。(subplot函数用法可以见我的另一篇文章)

四种画法分别为:

grouped:矩阵中的每一行数据为一组,每一组画出当前行中列的值
stacked:以矩阵中的每一行画出一个bar,每一个bar中包含当前行中的所有数据,根据数值的大小占相应的比例
histc与Hist两种方式与第一种grouped方式类似,但是它们的不同之处在于对应的X轴位置。

Y=round(rand(5,3)*10);
figure; % 建立一个图片
subplot(2,2,1); %2行2列的第一个位置
bar(Y,'grouped'); % 以'grouped'的方式画图
title('Group')% 图标题
subplot(2,2,2);%2行2列的第二个位置
bar(Y,'stacked');% 以'stacked'的方式画图
title('Stack')
subplot(2,2,3);%2行2列的第三个位置
bar(Y,'histc');% 以'histc'的方式画图
title('Histc')
subplot(2,2,4);%2行2列的第四个位置
bar(Y,'hist');% 以'hist'的方式画图
title('Hist')

在这里插入图片描述
好了,我们通过上述内容介绍了MATLAB中了常用两个作图函数plot与bar。

但是,各位是否认为这样的图片是否就可以直接插在论文中使用了呢?答案是否定的,仔细观察可以发现,我们还没有在图中加入X,Y轴的标签。

关于调整插图格式的问题,参考作者的另一篇博文:MATLAB绘图:插图格式调整

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MATLAB绘图:plot函数与bar函数详解 的相关文章

随机推荐

  • TM4C123G学习记录(7)--输入捕获

    因为想申请 CSDN 博客认证需要一定的粉丝量 xff0c 而我写了五年博客才 700 多粉丝 xff0c 本文开启关注才可阅读全文 xff0c 很抱歉影响您的阅读体验 为了准备电赛临时学一下TM4C123G xff0c 简单记录学习内容大
  • ANO匿名飞控分析(1)— 遥控器解码

    准备电赛 xff0c 简单写一下匿名飞控的分析基于TM4C主控的匿名拓空者飞控 xff0c 介绍见匿名科创 匿名拓空者PRO TI版全开源飞控使用入门 TM4C123 文章目录 一 简介二 PWM信号模式1 介绍2 硬件连接 三 PPM信号
  • OLAP分析引擎Druid配置文件详解(五):MiddleManager配置文件

    摘要 xff1a 本文是Druid配置文件系列博文的第五篇 xff0c 我们将继续逐个介绍Druid的五大组件 xff0c 本文将开始介绍Data Server中的middle manager和peon组件 以下配置都在middleMana
  • ANO匿名飞控分析(2)— 任务调度

    准备电赛 xff0c 简单写一下匿名飞控的分析基于TM4C主控的匿名拓空者飞控 xff0c 介绍见匿名科创 匿名拓空者PRO TI版全开源飞控使用入门 TM4C123 一 简介 匿名飞控的任务调度还是比较简单的 xff0c 没有操作系统什么
  • 点云地面点滤波(Cloth Simulation Filter, CSF)“布料”滤波算法介绍

    本篇博客参考Wuming Zhang的文章 An Easy to Use Airborne LiDAR Data Filtering Method Based on Cloth Simulation 不方便的小伙伴可以在此 xff1a 资源
  • TSCAN + TMODEL处理点云数据生成DEM

    点云数据生成DEM流程 目录 点云数据生成DEM流程1 软件环境2 操作流程2 1 加载TSCAN TMODEL插件2 2 读取点云数据2 3 点云去噪 滤波2 4 构建tin模型2 5 生成格网DEM2 6 查看DEM数据 对基于商业软件
  • LeGO-LOAM算法详解

    LeGO LOAM算法详解 整体框架 LeGO LOAM算法的总体框架如下图所示 xff1a 图中新增加了绿框中的Segmentation环节 xff0c 同时对后续的特征提取 Odometry以及Mapping部分均有一定的修改 xff0
  • 最速下降法解析(理解笔记)

    我们在高中或本科时期就了解到 xff1a 当函数存在解析形式且容易进行求导 xff08 f x f x f x 在最优点
  • ROS学习-tf介绍

    tf简介 一个机器人系统一个时间段通常有多个3D坐标系在变化 xff0c 如世界全局坐标系 xff0c world frame base frame gripper frame xff08 手臂 夹子坐标框架 xff09 xff0c hea
  • Anaconda 与 ROS 冲突解决

    Anaconda默认使用Python 3 而 ROS默认使用Python2 xff0c 若同时使用二者则会在调用一些ros包时出现冲突 目前解决方案是先在 bashrc文件中注释掉Anaconda xff1a span class toke
  • TI AWR1843毫米波雷达采集三维点云数据(ROS)

    毫米波雷达以其稳定性 对不同环境的适应能力 价格等方面的优势逐步引起了科研人员的注意 xff0c 本文主要介绍利用了TI xff08 德州仪器 xff09 的AWR1843设备 xff0c 基于ROS系统进行采集点云数据的流程 供大家参考及
  • 毫米波雷达原理介绍

    毫米波雷达是指工作在波长为1 10mm的毫米波段 xff0c 频率为30 xff5e 300GHz 基于其工作模式可以分为 脉冲 和 连续波 两种 其中 xff0c 脉冲类型的毫米波雷达的原理与激光雷达相似都是采用TOF的方法 而连续波类型
  • Ubuntu18.04使用Xorg创建虚拟屏幕

    目标 xff1a 使用远程软件 xff0c 如向日葵 TeamViewer Nomachine等来控制远程的电脑 xff08 Ubuntu 18 04桌面版本 xff09 作为服务端 存在问题 xff1a 被远程电脑若不连接屏幕会出现错误
  • 数学符号大全

    虽然在 Mathtype 能输入绝大多数想要的数学字符 xff0c 但是有些在 Visio 中无法输入 xff0c 可以在这里找出 xff0c copy就好了 xff0c 嘻嘻 xff5e 1 几何符号 2 代数符号 xff5e 3 运算符
  • 8小时用HTML5打造VNCViewer

    8小时用HTML5打造VNCViewer http cnborn net blog 另一个话题是ThoughtWorks徐昊带来的 8小时用HTML5打造VNCViewer 这个分享非常精彩 xff0c 其实现过程中的思考方式 使用的新技术
  • 自制ST-Link V2.1,带串口,可自动更新固件,含全套资料下载

    自制ST Link V2 1 xff0c 带串口 xff0c 可自动更新固件 xff0c 含全套资料下载 最近自制了一个带串口的ST Link V2 1 xff0c 现将全部资料共享给大家 xff0c 支持最新版的Keil 和IAR xff
  • LIO-SAM-自采数据运行踩坑

    一直觉得LIO SAM还是一个比较不错的激光雷达惯性里程计框架 xff0c 最近在使用自己的数据进行测试过程中出现了很多坑 xff0c 花费了一周多的时间才填平 xff0c 在此记录一下 前言 Ouster 128激光雷达数据Ouster内
  • ROS bag包提取数据

    日常使用中有时需要提取bag包中的某个topic数据为新的bag包 xff0c 或者裁剪其中的一段时间数据 这些功能均可以通过rosbag filter命令实现 下面 xff0c 我们简单介绍一下其使用流程 xff1a 首先 xff0c 使
  • Ouster激光雷达使用PTP时间同步

    IEEE1588 the Precision Time Protocol 简称为 PTP xff09 全称是 网络测量和控制系统的精密时钟同步协议标准 xff0c 可以使用ubuntu中的网卡作为时间的master也可以外接一个精准的时钟
  • MATLAB绘图:plot函数与bar函数详解

    MATLAB是由美国mathworks公司发布的主要面对科学计算 可视化以及交互式程序设计的高科技计算环境 我们可以利用它方便快捷的进行矩阵运算 绘制函数和数据 图像处理 前一段时间作者在进行毕业设计时使用MATLAB绘制了论文中的一系列插