gpt4 book ai didi

python - matplotlib:如何在给定的一组半径处绘制同心圆

转载 作者:太空宇宙 更新时间:2023-11-03 14:26:51 24 4
gpt4 key购买 nike

我想在距源的一组给定距离处绘制同心圆。我尝试做的第一件事是在极坐标图上画一条弧线,因为这似乎是合乎逻辑的子步骤:

import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111, polar=True)
ax.plot([1.0,1.5], [5,5], color='r', linestyle='-')
plt.show()

我遇到的第一个问题是它画的是直线而不是弧线:

polar with straight line

因此子问题可能是如何在极坐标图上以给定半径绘制弧线,在本例中为 360 度弧线?。另一方面,可能有一个更好的解决方案,也许不涉及极坐标图。最终,如标题所示,我的目标是围绕中心源以一组半径绘制同心圆。

最佳答案

很简单,随时用它来制作射击目标。:

ax.plot(np.linspace(0, 2*np.pi, 100), np.ones(100)*5, color='r', linestyle='-')

想想如何在极轴上定义圆?需要两个东西,角度和半径。此处为 np.linspace(0, 2*np.pi, 100)np.ones(100)*5。如果您只需要弧,请将第一个参数更改为小于 0 到 2pi 的值。并相应地更改第二个参数。

enter image description here还有其他方法可以做到这一点。 plot() 创建 .lines.Line2D object 对象,如果你想要 .collections.PathCollection object 而不是 Line2D:

ax.scatter(1, 0, s=100000, facecolors='none')

或者你想制作补丁:

ax.bar(0, 5, 2*np.pi, bottom=0.0, facecolor='None') #need to modified the edge lines or won't look right

关于python - matplotlib:如何在给定的一组半径处绘制同心圆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19130991/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com