迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

如何使用 Matplotlib 绘制 2D 热图

作者:迹忆客 最近更新:2023/03/17 浏览次数:

要绘制 2D 热图,我们可以使用以下任何一种方法:

  • imshow() 函数,使用参数 interpolation='nearest'cmap='hot'
  • Seaborn
  • pcolormesh() 函数

imshow() 函数绘制 2D 热图

我们可以使用 imshow 函数的语法:

matplotlib.pyplot.imshow(X, 
                         cmap=None, 
                         norm=None, 
                         aspect=None, 
                         interpolation=None, 
                         alpha=None,
                         vmin=None,
                         vmax=None, 
                         origin=None, 
                         extent=None, 
                         shape=<deprecated parameter>, 
                         filternorm=1, 
                         filterrad=4.0, 
                         imlim=<deprecated parameter>, 
                         resample=None, 
                         url=None,
                         *,
                         data=None, 
                         **kwargs)

示例代码:


import numpy as np
import matplotlib.pyplot as plt

data = np.random.random((8, 8))
plt.imshow(data, cmap='cool', interpolation='nearest')
plt.show()

具有 imshow 功能的 2D 直方图

cmap 是颜色图,我们也可以从这里选择另一个内置的 colormaps。

插值是一种插值方法,可以是 nearestbilinearhamming 等。

Seaborn 库的 2D 热图

Seaborn 库是建立在 Matplotlib 之上的。我们可以使用 seaborn.heatmap() 函数创建 2D 热图。

import numpy as np
import seaborn as sns
import matplotlib.pylab as plt

data = np.random.rand(8, 8)
ax = sns.heatmap(data, linewidth=0.3)
plt.show()

Seaborn 的 2D 直方图

Seaborn 还在热图的侧面绘制了一个渐变。

pcolormesh() 函数

绘制 2D 热图的另一种方法是使用 pcolormesh() 函数,该函数创建具有非规则矩形网格的伪彩色图。它是 pcolor() 函数的更快替代方法。

import numpy as np
import matplotlib.pyplot as plt

b, a = np.meshgrid(np.linspace(0, 5, 130), np.linspace(0,5, 130))

c = ( a ** 2 + b ** 2) * np.exp(-a ** 2 - b ** 2)
c = c[:-1, :-1]
l_a=a.min()
r_a=a.max()
l_b=b.min()
r_b=b.max()
l_c,r_c  = -np.abs(c).max(), np.abs(c).max()

figure, axes = plt.subplots()

c = axes.pcolormesh(a, b, c, cmap='copper', vmin=l_c, vmax=r_c)
axes.set_title('Heatmap')
axes.axis([l_a, r_a, l_b, r_b])
figure.colorbar(c)

plt.show()

输出:

具有 pcolormesh 功能的 2D 直方图

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:Python

Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。

Pandas 追加数据到 CSV 中

发布时间:2024/04/24 浏览次数:352 分类:Python

本教程演示了如何在追加模式下使用 to_csv()向现有的 CSV 文件添加数据。

Pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:Python

本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。

Pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:Python

本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便