欢迎访问宙启技术站
智能推送

Python中使用Axes3D()绘制3D极坐标图

发布时间:2023-12-26 03:04:59

在Python中,我们可以使用matplotlib库绘制3D极坐标图。matplotlib库中的Axes3D模块提供了绘制3D图形的功能。

下面是一个绘制3D极坐标图的例子:

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

# 生成数据
theta = np.linspace(0, 2 * np.pi, 100)  # 极角范围
r = np.linspace(0, 1, 100)  # 极径范围
theta, r = np.meshgrid(theta, r)  # 构造极坐标网格
x = r * np.cos(theta)
y = r * np.sin(theta)
z = np.sin(x**2 + y**2)

# 绘制图形
fig = plt.figure()  # 创建新的绘图窗口
ax = fig.add_subplot(111, projection='3d')  # 添加3D坐标轴

# 绘制3D曲面
ax.plot_surface(x, y, z, cmap='viridis')

# 设置坐标轴标签
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')

# 设置标题
ax.set_title('3D Polar Coordinate')

# 显示图形
plt.show()

上述代码通过生成极径范围r和极角范围theta,然后使用np.meshgrid()函数构造极坐标网格,得到对应的x、y、z数据。然后,创建一个绘图窗口,添加一个3D坐标轴。接着,使用ax.plot_surface()函数绘制3D曲面。最后,设置坐标轴标签和标题,并显示图形。

运行上述代码,可以得到一个3D极坐标图,图中展示了一个曲面。通过调整thetar的范围和分辨率,可以生成不同形状和复杂度的3D极坐标图。