Matplotlib 离散值直方图绘制方法

Matplotlib 离散值直方图绘制方法

Matplotlib是一种专业的可视化工具,它具有丰富的数据可视化功能,包括直方图。直方图是用来表示数值变量分布的一种常用方法,可以用统计方法处理数据后得到一个离散化的数据分布,进而用图形展示出来。

本篇文章将介绍如何使用Matplotlib绘制离散值直方图。

阅读更多:Matplotlib 教程

导入matplotlib

在绘制Matplotlib图形之前,首先需要导入matplotlib包。可以通过在终端输入以下命令进行安装:

pip install matplotlib
Python

绘制简单的离散值直方图

在Matplotlib中,使用hist()函数绘制直方图,它可以接收多个参数,包括数据、bin数量、颜色、标签等。假设有一份成绩单,分别记录了每个学生的数学分数,代码如下所示:

import matplotlib.pyplot as plt

math_scores = [92, 81, 88, 68, 77, 80, 74, 89, 76, 85]

plt.hist(math_scores)
plt.show()
Python

其中,math_scores是我们要绘制直方图的数据,hist()函数接收这个数据作为参数,会自动将它离散化为多个bin,每个bin表示一定范围内的数值数量,然后绘制出相应的直方图。

横轴是分数的范围,纵轴是对应范围的分数数量。可以看到,数据大概分布在70分以上至90分以下,分数最高的是92分,最低的是68分。

设置bin的数量

在上一个例子中,我们没有显式地设置bin的数量,而是让Matplotlib自动计算出一个合适的数量。但是,有时候可能需要手动设定bin数量,比如要展示数据的分布情况,并对比不同的bin数量下绘制的直方图。代码如下所示:

import numpy as np

math_scores = [92, 81, 88, 68, 77, 80, 74, 89, 76, 85]

num_bins = 5  # 设定bin的数量

n, bins, patches = plt.hist(math_scores, num_bins)
plt.show()
Python

上面的代码中,我们设定了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这五个范围内的数据统计出来,并画出对应的直方图。代码如下所示:

math_scores = [92, 81, 88, 68, 77, 80, 74, 89, 76, 85]

bins = [70, 75, 80, 85, 90, 95]  # 设定每个bin的范围

n, bins, patches = plt.hist(math_scores, bins)
plt.show()
Python

上面的代码中,我们手动设定了每个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”。代码如下所示:

math_scores = [92, 81, 88, 68, 77, 80, 74, 89, 76, 85]

bins = [70, 75, 80, 85, 90, 95]  # 设定每个bin的范围

plt.hist(math_scores, bins, color='green', label='Math Scores')
plt.legend()
plt.show()
Python

上面的代码中,颜色设定为绿色(color=’green’),标签为“Math Scores”(label=’Math Scores’)。

图中,直方图的颜色已经变为绿色,标签也显示在图例中。这样的设定可以使图形更加美观,同时更容易理解。

总结

本篇文章介绍了如何使用Matplotlib绘制离散值直方图。通过设定bin数量、范围、颜色和标签等信息,可以使图形更加直观、美观和易于理解。除此之外,Matplotlib还有众多其他的可视化功能,可以帮助我们更好地理解和展示数据。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册