如何在 Matplotlib 中为 3D 条形图创建图例?
matplotlibpythondata visualization
要在 matplotlib 中为 3D 条形图创建图例,我们可以绘制 3D 条形图并使用 legend() 方法放置图例。
步骤
- 设置图形大小并调整子图之间和周围的填充。
- 使用 figure() 方法创建新图形或激活现有图形。
- 将轴添加到图形作为子图排列的一部分。
- 使用 numpy 创建数据 x3、y3、z3、dx、dy 和 dz 的列表。
- 使用 bar3d() 方法绘制 3D 条形图。
- 创建用于放置图例的矩形轴。
- 使用legend() 方法放置条形图的图例。
- 要显示图形,请使用 show() 方法。
示例
import numpy as np from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True fig = plt.figure() ax1 = fig.add_subplot(111, projection='3d') x3 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] y3 = [5, 6, 7, 8, 2, 5, 6, 3, 7, 2] z3 = np.zeros(10) dx = np.ones(10) dy = np.ones(10) dz = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] ax1.bar3d(x3, y3, z3, dx, dy, dz, color="green") b1 = plt.Rectangle((0, 0), 1, 1, fc="green") ax1.bar3d(y3, x3, z3, dx, dy, dz, color="red") b2 = plt.Rectangle((0, 0), 1, 1, fc="red") ax1.legend([b1, b2], ['type1', 'type2']) plt.show()