麻烦绘制极坐标图

时间:2017-10-28 21:40:50

标签: python

我正在为我的Python课程做作业,我们的一个问题要求我们用笛卡尔坐标和极坐标绘制贝塞尔函数。 我遇到了后者。该问题还要求我们掩盖任何半径大于20的值以及.4和-.4之间的任何θ值。 这是我遇到问题的地方。我觉得我正在设置正确的面具,但我无法让图形看起来像笛卡尔版本。用pcolormesh绘制两者。

Picture of Code: Top is Cartesian / Bottom is Polar

在极地我用u来定义半径,j用来定义角度,k等于半径的贝塞尔函数' u'。 j0代表bessel函数。

from scipy.special import j0, j1, jn
fig = plt.figure()
ax = fig.add_subplot(111, polar=True)
j = np.linspace(-np.pi, np.pi, 200)
u = np.linspace(0, 20, 200)
k = j0(u)
jmask = np.ma.masked_where((j<.4) & (j>-.4), j)
umask = np.ma.masked_greater(u, 20, copy=True)
U, J = np.meshgrid(umask, jmask)
plt.pcolormesh(J, U, j0(U))

任何帮助都将不胜感激。

0 个答案:

没有答案