向具有同一轴上的多个图的 Matplotlib 箱线图添加图例

matplotlibpythondata visualization

要向具有同一轴上的多个图的 matplotlib 箱线图添加图例,我们可以采取以下步骤 −

  • 设置图形大小并调整子图之间和周围的填充。

  • 使用 numpy 创建随机数据 ab

  • 使用 figure() 方法创建新图形或激活现有图形。

  • 将轴作为子图排列添加到当前图形。

  • 使用 boxplot() 方法制作具有不同面色的箱线图。

  • 要放置图例,请使用legend() 方法,带有两个箱线图,bp1bp2,以及图例元素的有序标签。

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

示例

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

a = np.random.rand(100, 2)
b = np.random.rand(100, 2)

fig = plt.figure()
ax = fig.add_subplot(111)

bp1 = ax.boxplot(a, positions=[1, 3], notch=True, widths=0.35, patch_artist=True, boxprops=dict(facecolor="C0"))
bp2 = ax.boxplot(a, positions=[0, 2], notch=True, widths=0.35, patch_artist=True, boxprops=dict(facecolor="C2"))
ax.legend([bp1["boxes"][0], bp2["boxes"][0]], ["Box Plot 1", "Box Plot 2"], loc='upper right')

plt.show()

输出


相关文章