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

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绘图:插图格式调整

  • 7
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓晨的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值