在 Python 中,可以使用
matplotlib
的mplot3d
模块来绘制三维图。本文给出一些常见的三维图类型及其示例代码:
三维散点图
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 生成数据
x = np.random.rand(100)
y = np.random.rand(100)
z = np.random.rand(100)
# 创建三维散点图
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(x, y, z, c='r', marker='o')
# 设置标题和标签
ax.set_title('三维散点图')
ax.set_xlabel('X 轴')
ax.set_ylabel('Y 轴')
ax.set_zlabel('Z 轴')
plt.show()
三维线图
# 生成数据
t = np.linspace(0, 10, 100)
x = np.sin(t)
y = np.cos(t)
z = t
# 创建三维线图
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot(x, y, z, label='三维曲线')
# 设置标题和标签
ax.set_title('三维线图')
ax.set_xlabel('X 轴')
ax.set_ylabel('Y 轴')
ax.set_zlabel('Z 轴')
plt.legend()
plt.show()
三维表面图
# 生成网格数据
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
x, y = np.meshgrid(x, y)
z = np.sin(np.sqrt(x**2 + y**2))
# 创建三维表面图
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(x, y, z, cmap='viridis')
# 设置标题
ax.set_title('三维表面图')
ax.set_xlabel('X 轴')
ax.set_ylabel('Y 轴')
ax.set_zlabel('Z 轴')
plt.show()
三维柱状图
# 生成数据
x = [1, 2, 3, 4]
y = [1, 2, 3, 4]
z = [0, 0, 0, 0]
dx = dy = 0.5
dz = [1, 2, 3, 4]
# 创建三维柱状图
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.bar3d(x, y, z, dx, dy, dz, color='b')
# 设置标题
ax.set_title('三维柱状图')
ax.set_xlabel('X 轴')
ax.set_ylabel('Y 轴')
ax.set_zlabel('Z 轴')
plt.show()
总结
- 三维散点图:使用
scatter()
方法。 - 三维线图:使用
plot()
方法。 - 三维表面图:使用
plot_surface()
方法。 - 三维柱状图:使用
bar3d()
方法。
以上示例展示了如何绘制不同类型的三维图。可以根据需要进行调整和修改。
如需帮助,或有导航、定位滤波相关的代码定制需求,请点击下方卡片联系作者