温馨提示:本文翻译自stackoverflow.com,查看原文请点击:python - How to do a 3D circle in Matplotlib

python - 如何在Matplotlib中制作3D圆

发布于 2020-03-27 10:36:28

我是Python的初学者。我正在尝试使用与Z轴相切的matplotlib绘制一个圆。我知道如何在3D中绘制球体,但不知道如何在3D绘图中绘制圆/环。有人可以帮助我提供代码吗?提前致谢!

查看更多

查看更多

提问者
Higa
被浏览
92
gboffi 2019-07-03 21:58

您需要常规的导入以及3D工具包

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

您需要启用3D的axes对象

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

您需要一个包含在平面yz中的圆

theta = np.linspace(0, 2 * np.pi, 201)
y = 10*np.cos(theta)
z = 10*np.sin(theta)

现在我们可以绘制原圆和,作为一个例子,一些圈的绕Ž -轴和它们的中心也放置在一个固定的距离(等于到c ircles'radius)从Ž -轴,使他们正切

for i in range(18):
    phi = i*np.pi/9
    ax.plot(y*np.sin(phi)+10*np.sin(phi),
            y*np.cos(phi)+10*np.cos(phi), z)

最终,我们放置了一个垂直轴和一个图例

ax.plot((0,0),(0,0), (-10,10), '-k', label='z-axis')
ax.legend()

现在该看看我们得到了什么

plt.show()

在此处输入图片说明