在 Matplotlib 中绘制颜色直方图,颜色取自颜色图 (colormap)

matplotlibserver side programmingprogramming更新于 2025/8/26 7:07:17

要绘制颜色直方图,颜色取自 colormap,我们可以使用 setp() 方法。

步骤

  • 使用 numpy 创建数据点。

  • 使用 hist() 方法绘制数据(步骤 1),其中  bins=25、rwidth=.75 等。

  • 返回值 n、bins 和 patch 有助于查找 col。

  • 获取名称为"RdYlBu"的颜色图实例。

  • 压缩 col 和补丁。

  • 现在,使用 setp() 方法设置每个补丁的属性。

  • 要显示图形,请使用 show() 方法。

示例

import numpy as np
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
data = np.random.random(1000)
n, bins, patches = plt.hist(data, bins=25, density=True, color='red', rwidth=0.75)
col = (n-n.min())/(n.max()-n.min())
cm = plt.cm.get_cmap('RdYlBu')
for c, p in zip(col, patches):
   plt.setp(p, 'facecolor', cm(c))
plt.show()

输出


相关文章