matplotlib极坐标图中的箭头,方法是定义长度和角度

时间:2018-09-24 20:27:35

标签: python-3.x matplotlib polar-coordinates

我正在尝试在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()

This is what I get as a plot

0 个答案:

没有答案