带有多个图例项的 Matplotlib 直方图
要绘制带有多个图例项的直方图,我们可以执行以下步骤:
- 设置图表的大小并调整子图之间的和四周的填充。
- 使用 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()
输出
广告