我目前正在尝试r = 4 * sin(2 * theta)
使用 matplotlib 绘制极平面中的方程,基于链接的示例。这是我的代码:
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))
这将产生以下输出:
然而,根据 Wolfram Alpha 的说法,正确的图表如下所示:
我的代码似乎缺少图表的很大一部分——它只有两个花瓣,而不是四个。我确保在 theta 从 0 到 2pi 时绘制两个方程,因此它们应该显示相同的内容。
有人知道我做错了什么吗?我不确定我是否只是误解了如何使用 matplotlib,或者我是否遗漏了一些明显的错误。