如何用Python绘制3D柱形图

  • Post category:Python

如何用Python绘制3D柱形图

在本攻略中,我们将介绍如何使用Python和Matplotlib库绘制3D柱形图。我们将提供两个示例,以帮助更好地理解如何绘制3D柱形图。

步骤一:导入要的库和模块

我们需要导入Matplotlib库一些其他必要的库和模块。下面是导入这些库和模块的代码:

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D

步骤二:创建数据

我们需要创建要绘制的数据。下面是创建数据的代码:

x = np.array([1, 2, , 4, 5])
y = np.array([2, 3, 4, 5, 6])
z = np.array([0, 0, 0, 0, 0])
dx = np.ones(5)
dy = np.ones(5)
dz = np.array([1, 2, 3,4, 5])

在上面的代码中,我们创建了三个NumPy数组xyz,它们分别表示3D柱形图中每个柱形的x、y和z坐标。我们还创建了三个NumPy数组dxdydz,它们分别表示每个柱形的宽度、深度和高度。

步骤三:绘制3D柱形图

我们可以使用Matplotlib库的bar3d函数绘制3D柱形图。下面是绘制3D柱形图的代码:

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.bar3d(x, y, z, dx, dy, dz)
plt.show()

在上面的代码中,我们首先创建一个figure对象和一个Axes3D对象。然后,我们使用bar3d函数绘制3D柱形图,并使用show`函数显示结果。

示例一:绘制简单的3D柱形图

下面是绘制简单的3D柱形图的完整代码:

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D

# 创建数据
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 3 4, 5, 6])
z = np.array([0, 0, 0, 0, 0])
dx = np.ones(5)
dy = np.ones(5)
dz = np.array([1, 2, 3, 4, 5])

# 绘制3D柱形图
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.bar3d(x, y, z, dx, dy, dz)

# 显示结果
plt.show()

在上面的代码中,我们首先创建了要绘制的数据。然后,我们使用Matplotlib库的bar3d函数绘制3D柱形图,并使用show函数显示结果。

示例二:绘制多个3D柱形图

下面是绘制多个3D柱形图的完整代码:

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D

# 创建数据
x1 = np.array([1, 2, 3, 4, 5])
y1 = np.array([2, 3, 4, 5, 6])
z1 = np.array([0, 0, 0, 0, 0])
dx1 = np.ones(5)
dy1 = np.ones(5)
dz1 = np.array([1, 2, 3, 4, 5])

x2 = np.array([7, 8, 9, 10, 11])
y2 = np.array([2, 3, 4, 5, 6])
z2 = np.array([0, 0, 0, 0, 0])
dx2 = np.ones(5)
dy2 = np.ones(5)
dz2 = np.array([5, 4, 3, 2, 1])

# 绘制3D柱形图
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.bar3d(x1, y1, z1, dx1, dy1, dz1)
ax.bar3d(x2, y2, z2, dx2, dy2, dz2)

# 显示结果
plt.show()

在上面的代码中,我们首先创建了两组要绘制的数据。然后,我们使用Matplotlib库的bar3d函数绘制两个3D柱形图,并使用show函数显示结果。

总结

本攻略介绍了如何使用Python和Matplotlib库绘制3D柱形图我们使用bar3d函数绘制3D柱形图,并提供了两个示例,以帮助您更好地理解如何绘制3D柱形图。