如何在 Matplotlib 中为 3D 柱状图创建图例?
要在 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()
输出
广告