上次推文中,描述了MATLAB与Python在绘制折线图上的区别。那么我们今天继续学习,在绘制条形图时,两者之间的区别。
案例:
假设我们想统计2016到2021年6年时间中,考研报考人数及录取人数的变化情况。为了学习条形图中单个柱和两个柱之间的区别,我们绘制两个图。第一个图显示报考人数随着年份的变化,第二个图显示报考人数和录取人数随着年份的变化。
在这个案例中,MATLAB与Python绘制条形图会有什么区别呢?
1)Python
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=Fals
eyear = [2016,2017,2018,2019,2020,2021]
number_1 = [25,26,30,35,37,40]
number_2 = [35,46,50,65,57,70]
plt.subplot(121)x = range(len(year))
plt.xticks(x,year)
plt.bar(x,number_1,label='报考情况',color='red')
plt.xlabel('报考年数')
plt.ylabel('报考人数/万人')
plt.title('研究生报考情况')
plt.legend()
plt.show()
plt.subplot(122)
x = range(len(year))
plt.xticks(x,year)
plt.bar(x,number_1,label='报考情况',color='red',width=0.4)
plt.bar([i+0.4 for i in x],number_2,label='报考情况',color='blue',width=0.4)
plt.xlabel('报考年数')
plt.ylabel('报考人数/万人')
plt.title('研究生报考情况')
plt.legend()plt.show()
其绘制的条形图如下图所示:
关于在Python学习条形图的绘制,方法如下图所示:
2)MATLAB
clc;
clear;
year=[2016 2017 2018 2019 2020 2021]
number_1=[25 26 30 35 37 40]
number_2=[15 16 20 25 27 20]
number_3=[25 26 30 35 37 40;15 16 20 25 27 20]
subplot(1,2,1)
bar(year,number_1,0.5,'r')
xlabel('报考年数')
ylabel('报考人数/万人')
title('研究生报考情况')
legend('报考人数')
subplot(1,2,2)
bar(year,number_3,0.5)
xlabel('报考年数')
ylabel('报考人数/万人')
title('研究生报考情况')
legend('报考人数','录取人数')
则其绘制的条形图如下图所示:
从以上结果来看,绘制条形图都是用bar函数。只是绘制双柱图时有些许不同。在Python中,是利用了for循环来实现,而在MATLAB中,是使用矩阵的方式实现。我们可以发现,Python虽然简单,但是基础还是c语言,所以学好c语言才是打基础的过程。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删