Matplotlib 教程 之 Matplotlib 直方图 2

简介: 使用 Matplotlib 的 `hist()` 方法绘制直方图,通过实例展示了如何比较多组数据的分布。`hist()` 方法属于 Matplotlib 的 pyplot 子库,能有效展示数据分布特性,如中心趋势和偏态。示例中通过生成三组正态分布的随机数据并设置参数(如 bins、alpha 和 label),实现了可视化比较。

Matplotlib 教程 之 Matplotlib 直方图 2

Matplotlib 直方图

我们可以使用 pyplot 中的 hist() 方法来绘制直方图。

hist() 方法是 Matplotlib 库中的 pyplot 子库中的一种用于绘制直方图的函数。

hist() 方法可以用于可视化数据的分布情况,例如观察数据的中心趋势、偏态和异常值等。

hist() 方法语法格式如下:

matplotlib.pyplot.hist(x, bins=None, range=None, density=False, weights=None, cumulative=False, bottom=None, histtype='bar', align='mid', orientation='vertical', rwidth=None, log=False, color=None, label=None, stacked=False, **kwargs)

参数说明:

x:表示要绘制直方图的数据,可以是一个一维数组或列表。
bins:可选参数,表示直方图的箱数。默认为10。
range:可选参数,表示直方图的值域范围,可以是一个二元组或列表。默认为None,即使用数据中的最小值和最大值。
density:可选参数,表示是否将直方图归一化。默认为False,即直方图的高度为每个箱子内的样本数,而不是频率或概率密度。
weights:可选参数,表示每个数据点的权重。默认为None。
cumulative:可选参数,表示是否绘制累积分布图。默认为False。
bottom:可选参数,表示直方图的起始高度。默认为None。
histtype:可选参数,表示直方图的类型,可以是'bar'、'barstacked'、'step'、'stepfilled'等。默认为'bar'。
align:可选参数,表示直方图箱子的对齐方式,可以是'left'、'mid'、'right'。默认为'mid'。
orientation:可选参数,表示直方图的方向,可以是'vertical'、'horizontal'。默认为'vertical'。
rwidth:可选参数,表示每个箱子的宽度。默认为None。
log:可选参数,表示是否在y轴上使用对数刻度。默认为False。
color:可选参数,表示直方图的颜色。
label:可选参数,表示直方图的标签。
stacked:可选参数,表示是否堆叠不同的直方图。默认为False。
**kwargs:可选参数,表示其他绘图参数。

以下实例演示了如何使用 hist() 函数绘制多个数据组的直方图,并进行比较:

实例

import matplotlib.pyplot as plt
import numpy as np

生成三组随机数据

data1 = np.random.normal(0, 1, 1000)
data2 = np.random.normal(2, 1, 1000)
data3 = np.random.normal(-2, 1, 1000)

绘制直方图

plt.hist(data1, bins=30, alpha=0.5, label='Data 1')
plt.hist(data2, bins=30, alpha=0.5, label='Data 2')
plt.hist(data3, bins=30, alpha=0.5, label='Data 3')

设置图表属性

plt.title('Baidu hist() TEST')
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.legend()

显示图表

plt.show()

以上实例中我们生成了三组不同的随机数据,并使用 hist() 函数绘制了它们的直方图。通过设置不同的均值和标准差,我们可以生成具有不同分布特征的随机数据。

我们设置了 bins 参数为 30,这意味着将数据范围分成 30 个等宽的区间,然后统计每个区间内数据的频数。

我们设置了 alpha 参数为 0.5,这意味着每个直方图的颜色透明度为 50%。
我们使用 label 参数设置了每个直方图的标签,以便在图例中显示。

然后使用 legend() 函数显示图例。最后,我们使用 title()、xlabel() 和 ylabel() 函数设置了图表的标题和坐标轴标签。

目录
相关文章
|
2月前
|
数据可视化 Python
Matplotlib 教程 之 Seaborn 教程 10
Seaborn 是基于 Matplotlib 的 Python 数据可视化库,专注于统计图形的绘制。它提供了高级接口和美观的默认主题,简化了复杂图形的生成过程。Seaborn 支持多种图表类型,如散点图、折线图、柱状图、热图等,并特别强调视觉效果。例如,使用 `sns.violinplot()` 可以轻松绘制展示数据分布的小提琴图。
34 1
|
19天前
|
数据可视化 Python
Matplotlib 直方图
Matplotlib 直方图
33 11
|
26天前
|
机器学习/深度学习 计算机视觉 Python
Matplotlib 教程
Matplotlib 教程
19 1
|
2月前
|
数据可视化 数据挖掘 Python
Matplotlib 教程 之 Seaborn 教程 8
Seaborn 是基于 Matplotlib 的 Python 数据可视化库,专注于统计图形的绘制。它提供了简洁的高级接口和美观的默认样式,支持多种图表类型,如散点图、折线图、柱状图、热图等,特别适合于数据分析和展示。例如,使用 `sns.boxplot()` 可以轻松绘制箱线图,展示数据的分布情况。
40 3
|
2月前
|
数据可视化 Python
Matplotlib 教程 之 Seaborn 教程 9
Seaborn 是基于 Matplotlib 的 Python 数据可视化库,专注于统计图形的绘制。它提供了高级接口和美观的默认主题,简化了复杂图形的生成过程。本文介绍了 Seaborn 的主要功能和绘图函数,包括热图 `sns.heatmap()` 的使用方法和示例代码。
24 1
|
2月前
|
数据可视化 Python
Matplotlib 教程 之 Seaborn 教程 2
Seaborn 是基于 Matplotlib 的 Python 数据可视化库,专注于统计图形的绘制,提供高级接口和美观的默认主题,支持散点图、折线图等多种图表类型,安装简便,可通过 `pip install seaborn` 完成。Seaborn 设计注重美观与易用性,内置多种主题如 darkgrid、whitegrid 等,便于用户快速生成高质量的统计图表。
24 3
|
2月前
|
数据可视化 DataX Python
Matplotlib 教程 之 Seaborn 教程 6
Seaborn 是基于 Matplotlib 的 Python 数据可视化库,专注于绘制统计图形。它提供高级接口和美观的默认主题,简化了复杂图形的绘制过程。本文档介绍了 Seaborn 的主要绘图函数,如 `sns.lineplot()` 用于绘制变量变化趋势的折线图,并给出了示例代码。
39 0
|
2月前
|
数据可视化 Python
Matplotlib 教程 之 Seaborn 教程 4
Seaborn 是基于 Matplotlib 的 Python 数据可视化库,专注于绘制统计图形。它提供了高级接口和美观的默认主题,简化了复杂图形的绘制过程。以下示例展示了如何使用 Seaborn 和 Matplotlib 绘制一个简单的柱状图,展示不同产品的销售情况。
16 0
|
2月前
|
Python
Matplotlib 教程 之 Matplotlib 中文显示 4
Matplotlib 中文显示教程,介绍如何通过设置字体参数或下载支持中文的字体库(如思源黑体)来实现在 Matplotlib 中正确显示中文。示例代码展示了如何使用思源黑体设置图表标题和轴标签的中文显示。
21 0
|
2月前
|
Python
Matplotlib 教程 之 Matplotlib 中文显示 3
Matplotlib 是一个强大的绘图库,但默认不支持中文显示。通过设置字体参数或下载支持中文的字体库,可以解决这一问题。例如,设置 `plt.rcParams['font.family']` 为 `'Heiti TC'`,即可在图表中正确显示中文标题和标签。
17 0