私は現在、リンクされた例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 によると、正しいグラフは次のようになります。
私のコードでは、グラフのかなりの部分が欠落しているようです。花弁が 4 つではなく 2 つしかありません。シータが 0 から 2pi になるときに両方の方程式をプロットするようにしました。したがって、同じものが表示されるはずです。
私が間違っていることを誰かが知っていますか?matplotlib の使い方を誤解しているだけなのか、それとも明らかなエラーを見落としているのかはわかりません。