用 Matplotlib 绘制一个直方图,并从色图中选取颜色


要绘制一个从色彩映射中获取颜色的直方图,我们可以使用 setp() 方法。

步骤

  • 使用 numpy 创建数据点。

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

  • 返回的值 n、bins 和 patches 可以帮助找到颜色。

  • 为名称“RdYlBu”获取色彩映射实例。

  • 将 col 和 patches 压缩到一起。

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

  • 要显示图形,请使用 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()

输出

更新于: 07-May-2021

1K+ 查看

开启您的职业生涯

通过完成课程取得认证

开始
广告