我正在尝试在matplotlib的极坐标图中绘制箭头。我将有2套,其中1套指向图的中心,我可以轻松得到它;一组应在所考虑的点处与半径r的圆相切。两种长度都应该是角度θ的函数。
对于第二组,我可以通过一些繁琐的三角考虑到达那里,但是我想知道这样做是否会有更优雅(更易读)的方式。特别是因为这是针对学生的演示。
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
matplotlib.rcParams['figure.figsize'] = (8,8)
theta=np.linspace(0,2*np.pi,13)
rayon=np.linspace(R,R,13)
ax = plt.subplot(111, projection='polar')
ax.plot(theta, rayon,'.',markersize=10)
ax.set_rmax(0.6)
plt.arrow(theta[1], 0.5, 0, -0.25, width = 0.015, edgecolor = 'red', lw = 3,head_width=0.1, head_length=0.05)
l=.5
plt.arrow(theta[1], 0.5, np.arctan(l/.5), (np.sqrt(.5**2+l**2)-.5), width = 0.015,
edgecolor = 'green', lw = 3,head_width=0.1, head_length=0.05)
plt.show()