MATLAB与Python绘图区别3—直方图

MATLAB与Python绘图区别3—直方图的图1

上次推文中,描述了MATLAB与Python在绘制条形图上的区别,那么我们今天继续学习,在绘制直方图时,两者之间的区别。

案例:

随机生成以10为中心的1000个正态分布的数,和1000个以12为中心的正态分布的数,然后将结果取值范围划分为30个等距离的区间,然后统计各个区间上数出现的个数。

在这个案例中,MATLAB与Python绘制条形图会有什么区别呢?

(1)Python

import matplotlib.pyplot as pltimport numpy as npplt.rcParams['font.sans-serif']=['STSong']plt.rcParams['axes.unicode_minus']=Falsedata_1 = np.random.randn(1000) + 10data_2 = np.random.randn((1000)) + 12plt.hist(data_1, bins=30)plt.hist(data_2, bins=30)plt.legend(['10为正态中心的数据分布','12为正态中心的数据分布'])plt.xlabel('区间')plt.ylabel('频数')plt.title('直方图')plt.show()

其绘制的条形图如下图所示:

MATLAB与Python绘图区别3—直方图的图2

关于在Python学习直方图的绘制,方法如下图所示:

MATLAB与Python绘图区别3—直方图的图3

(2)MATLAB

clc;clear;x=randn(1,1000)+10y=randn(1,1000)+12
histogram(x,30)hold onhistogram(y,30)
xlabel('区间')ylabel('频数')title('直方图')legend('以10为正态中心的数据分布','以12为正态中心的数据分布')

其绘制的直方图如下图所示:

MATLAB与Python绘图区别3—直方图的图4

从代码上来看,两者最大的区别是:python中可以直接生成随机数,并可直接绘制在一张图中;matlab需要使用histogram函数并只能生成随机矩阵,所以我们定义一个一维数组来生成1000个随机数,并且需要利用hold on命令来将图绘制在一张图中。总的来说,两者思路还是一样的。

MATLAB与Python绘图区别3—直方图的图5

欢迎关注公众号“土木爱研小站”并加入学术交流群


您的每一个赞和关注都是我前进的动力!!!MATLAB与Python绘图区别3—直方图的图6MATLAB与Python绘图区别3—直方图的图7MATLAB与Python绘图区别3—直方图的图8

默认 最新
当前暂无评论,小编等你评论哦!
点赞 评论 收藏
关注