用 Matplotlib 绘制一个直方图,并从色图中选取颜色
要绘制一个从色彩映射中获取颜色的直方图,我们可以使用 setp() 方法。
步骤
使用 numpy 创建数据点。
使用 bins=25、rwidth=.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()
输出
广告