是否有可能在极坐标图中添加椭圆? matplotlib修补椭圆类neeeds(x,y,width,height),其中(x,y)是水平/垂直轴的总长度(直径)的中心和宽度和高度。
如果我将极地线转换为中心的笛卡尔线,它就不起作用。
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.patches import Ellipse
fig=plt.figure()
ax=plt.subplot(111, polar=True)
x= 200*np.cos(np.pi)
y= 200*np.sin(np.pi)
ax.add_patch(Ellipse((x,y),100,100,fill=False))
plt.show()
到目前为止
答案 0 :(得分:0)
我猜你现在已经做到了,但万一有人想知道并四处闲逛:
el = Ellipse((0.61 * np.pi, 0.8), 0.09, 0.08, color='black')
ax.add_patch(el)
让鼠标悬停在极坐标图上,将为您提供0.61π,0.8
的信息答案 1 :(得分:0)
对我来说,绘制矩形的方法如下:
1.-获取矩形的极坐标:
rec_pts=ax.InvertedPolarTransform().transform(values=rectangle_points)
2.-在极轴上用以下坐标绘制一条线:
line,=ax.plot(rec_pts[:,0],rec_pts[:,1])
3.-使用已经在极坐标中的线的路径绘制所需的面片:
from matplotlib.patches import PathPatch
ax.add_patch(PathPatch(line.get_path()))
line.remove()
在您的情况下,为了获取笛卡尔坐标,0步应为:
ellip_coords=Ellipse((x,y),100,100,fill=False).get_verts()