如何使用 Matplotlib Python 中的 `imshow` 函数显示简单的二元分布?


Matplotlib 是一个流行的 Python 数据可视化包。数据可视化是一个关键步骤,因为它有助于理解数据中的情况,而无需实际查看数字并进行复杂的计算。

它有助于有效地向受众传达定量见解。Matplotlib 用于创建具有数据的二维图。它带有一个面向对象的 API,有助于将绘图嵌入 Python 应用程序中。Matplotlib 可与 IPython shell、Jupyter notebook、Spyder IDE 等一起使用。

它是用 Python 编写的。它是使用 NumPy 创建的,NumPy 是 Python 中的数值 Python 包。

可以使用以下命令在 Windows 上安装 Python:

pip install matplotlib

Matplotlib 的依赖项为:

Python ( greater than or equal to version 3.4)
NumPy
Setuptools
Pyparsing
Libpng
Pytz
Free type
Six
Cycler
Dateutil

二元分布是指存在两个独立随机变量时某个事件发生的概率。

`imshow` 函数通常用于在 Matplotlib 中显示图像以及绘图。

让我们了解如何使用 Matplotlib 绘制二元分布:

示例

import numpy as np
import matplotlib.cm as cm
import matplotlib.pyplot as plt
import matplotlib.cbook as cbook
from matplotlib.path import Path
from matplotlib.patches import PathPatch
np.random.seed(9654241)

delta = 0.025
x = y = np.arange(−4.5, 4.5, delta)
X, Y = np.meshgrid(x, y)
Z1 = np.exp(−X**2 − Y**2)
Z2 = np.exp(−(X − 1)**2 − (Y − 1)**2)
Z = (Z1 − Z2) * 2

fig, ax = plt.subplots()
plt.title('A bivariate distribution')
plt.xlabel('x−axis')
plt.ylabel('y−axis')

im = ax.imshow(Z, interpolation='bilinear',
origin='lower', extent=[−3, 3, −3, 3],
vmax=abs(Z).max(), vmin=−abs(Z).max())
plt.show()

输出

解释

  • 导入所需的包并定义其别名以方便使用。

  • 使用 `random` 库的 `seed` 函数创建数据。

  • 使用 `Numpy` 库为两个不同的数据集创建数据。

  • 使用 `figure` 函数创建一个空图。

  • 使用 `subplot` 函数在同一图中创建 2 个单独的绘图。

  • 使用 `plot` 函数绘制数据。

  • 使用 `set_xlabel`、`set_ylabel` 和 `set_title` 函数为 X 轴、Y 轴和标题提供标签。

  • 使用 `imshow` 函数将图形分配给变量。

  • 使用 `show` 函数在控制台中显示它。

更新于:2021年1月18日

406 次查看

启动您的职业生涯

完成课程获得认证

开始学习
广告