我目前正在尝试使用matplotlib在极坐标系中绘制方程r = 4 * sin(2 * theta)
,基于链接的example。以下是我的代码:
import numpy as np
import matplotlib.pyplot as plt
from math import sin, pi
def plot_polar(f, start=0, end=2*pi):
theta = np.linspace(start, end, 1000)
r = map(f, theta)
ax = plt.subplot(111, polar=True)
ax.plot(theta, r)
ax.grid(True)
plt.show()
plot_polar(lambda theta: 4 * sin(2 * theta))
这将导致以下输出:
然而,根据沃尔夫勒姆阿尔法的显示,正确的图表如下所示:
有人知道我错在哪里吗?我不确定我是否误解了如何使用matplotlib,或者我是否遗漏了一些明显的错误。