Matplotlib 离散值直方图绘制方法
Matplotlib是一种专业的可视化工具,它具有丰富的数据可视化功能,包括直方图。直方图是用来表示数值变量分布的一种常用方法,可以用统计方法处理数据后得到一个离散化的数据分布,进而用图形展示出来。
本篇文章将介绍如何使用Matplotlib绘制离散值直方图。
阅读更多:Matplotlib 教程
导入matplotlib
在绘制Matplotlib图形之前,首先需要导入matplotlib包。可以通过在终端输入以下命令进行安装:
绘制简单的离散值直方图
在Matplotlib中,使用hist()函数绘制直方图,它可以接收多个参数,包括数据、bin数量、颜色、标签等。假设有一份成绩单,分别记录了每个学生的数学分数,代码如下所示:
其中,math_scores是我们要绘制直方图的数据,hist()函数接收这个数据作为参数,会自动将它离散化为多个bin,每个bin表示一定范围内的数值数量,然后绘制出相应的直方图。
横轴是分数的范围,纵轴是对应范围的分数数量。可以看到,数据大概分布在70分以上至90分以下,分数最高的是92分,最低的是68分。
设置bin的数量
在上一个例子中,我们没有显式地设置bin的数量,而是让Matplotlib自动计算出一个合适的数量。但是,有时候可能需要手动设定bin数量,比如要展示数据的分布情况,并对比不同的bin数量下绘制的直方图。代码如下所示:
上面的代码中,我们设定了bin数量为5,也就是将数据分为5组。
可以清晰地看出,数据的分布情况,在70~75、75~80、80~85、85~90、90~95这五个范围内,分别有几个数据点。这样的直方图可以更好地展示出数据的分布情况。
自定义bin的范围
除了设定bin的数量以外,还可以通过手动设定每个bin的范围来展示数据分布情况。比如,我们将70~75、75~80、80~85、85~90、90~95这五个范围内的数据统计出来,并画出对应的直方图。代码如下所示:
上面的代码中,我们手动设定了每个bin的范围为70~75、75~80、80~85、85~90、90~95。
图中,x轴代表每个bin的范围(70~75、75~80……),y轴代表对应范围内的数据点数量。可以看到,70~75范围内有1个数据点,75~80范围内有2个数据点,以此类推。
设定颜色和标签
在绘制直方图时,除了bin的数量和范围之外,我们还可以设定直方图的颜色和标签等信息,让图形更加美观和易于理解。比如,我们将直方图的颜色设定为绿色,标签为“Math Scores”。代码如下所示:
上面的代码中,颜色设定为绿色(color=’green’),标签为“Math Scores”(label=’Math Scores’)。
图中,直方图的颜色已经变为绿色,标签也显示在图例中。这样的设定可以使图形更加美观,同时更容易理解。
总结
本篇文章介绍了如何使用Matplotlib绘制离散值直方图。通过设定bin数量、范围、颜色和标签等信息,可以使图形更加直观、美观和易于理解。除此之外,Matplotlib还有众多其他的可视化功能,可以帮助我们更好地理解和展示数据。