Python matplotlib意外结果极坐标图

Python matplotlib意外结果极坐标图,python,numpy,matplotlib,Python,Numpy,Matplotlib,我正在尝试使用matplotlib绘制简单函数r=3*sin2*θ: 将numpy作为np导入 将matplotlib.pyplot作为plt导入 θ=np.arange0,2*np.pi,0.01 r=3.0*np.sin2.0*theta ax=plt.Subplot 111,投影='polar' x.θ,r 节目 这是我得到的结果,它不正确: 这就是我希望看到的wolfram alpha: 我错过什么了吗? 谢谢 这将修补neg r的极坐标图 import numpy as np impo

我正在尝试使用matplotlib绘制简单函数r=3*sin2*θ:

将numpy作为np导入 将matplotlib.pyplot作为plt导入 θ=np.arange0,2*np.pi,0.01 r=3.0*np.sin2.0*theta ax=plt.Subplot 111,投影='polar' x.θ,r 节目 这是我得到的结果,它不正确:

这就是我希望看到的wolfram alpha:

我错过什么了吗?
谢谢

这将修补neg r的极坐标图

import numpy as np
import matplotlib.pyplot as plt
theta = np.arange(0,2*np.pi,0.01)
r = 3.0*np.sin(2.0*theta)
theta = theta + (1 - np.sign(r))*np.pi/2 # add pi to points with negative r values
r = np.abs(r) # make all r values postive to fake out matplotlib
ax = plt.subplot(111, projection='polar')
ax.plot(theta, r)
plt.show()

matplotlib polar显然不做否定r请参见@f5r5e5d中的评论链接您回答了我的问题question@f5r5e5d你能回答这个问题吗?谢谢