如何使用Matplotlib Python中的’imshow’显示简单的二元分布?
Matplotlib是一种常用的Python包,用于数据可视化。可视化数据是关键的一步,因为它能够帮助我们理解数据中正在发生的情况,而不必查看数字或进行复杂的计算。它有助于有效地向观众传达定量的洞察力。Matplotlib用于使用数据创建二维图。它带有面向对象的API,有助于将图表嵌入到Python应用程序中。Matplotlib可与IPython shell,Jupyter笔记本电脑,Spyder IDE等一起使用。它是用Python编写的,使用的是Python中的数值Python包——Numpy。
可以使用以下命令在Windows上安装Python:
pip install matplotlib
Matplotlib的依赖项包括:
Python (大于或等于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()
输出
解释
-
导入所需的包并为了方便使用定义别名。
-
使用“随机”库的“seed”函数创建数据。
-
使用“Numpy”库为两个不同的数据集创建数据。
-
使用“figure”函数创建一个空图形。
-
使用“subplot”函数在同一图形中创建2个单独的绘图。
-
使用“plot”函数绘制数据。
-
使用“set_xlabel”、“set_ylabel”和“set_title”函数为“X”轴、“Y”轴和标题提供标签。
-
使用“imshow”函数将图形分配给一个变量。
-
使用“show”函数在控制台上显示图形。