带有多个图例条目的 Matplotlib 直方图
matplotlibpythondata visualization
要绘制带有多个图例条目的直方图,我们可以采取以下步骤 −
- 设置图形大小并调整子图之间和周围的填充。
- 使用 numpy 创建随机数据
- 使用 hist() 方法绘制直方图。
- 制作一个颜色列表来为每个补丁的表面着色。
- 迭代补丁并设置每个补丁的表面颜色。
- 创建一个句柄列表来放置图例。
- 对多个图例条目使用 legend() 方法。
- 要显示图形,请使用 show() 方法。
示例
import matplotlib.pyplot as plt import numpy as np from matplotlib.patches import Rectangle plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True data = np.random.rayleigh(size=1000) * 35 N, bins, patches = plt.hist(data, 30, ec="k") colors = ["red", "yellow", "green"] for i in range(0, len(bins)-1): patches[i].set_facecolor(colors[i % len(colors)]) handles = [Rectangle((0, 0), 1, 1, color=c, ec="k") for c in colors] labels = ["Red", "Yellow", "Green"] plt.legend(handles, labels) plt.show()