0
私は、matplotlibを使って極座標で流線をプロットしようとしています。しかし、いくつかの問題は、極プロットの範囲に現れるようです。ここでは、問題を説明するために1つの短い例です: r=r1
(linspace)でmatplotlibを使った極限のストリームプロットの範囲が狭い
import numpy as np
import matplotlib.pyplot as plt
r1 = np.linspace(0.5, 1, 50)
r2 = np.logspace(np.log10(0.5), np.log10(1.), 50)
t = np.linspace(0, 2*np.pi, 360)
r = r1
tt, rr = np.meshgrid(t, r)
v = 0*rr
u = rr
fig = plt.figure(figsize=(10,10))
ax = fig.add_subplot(1,1,1, projection='polar')
ax.streamplot(t, r, v, u, density=1., color='k', linewidth=3)
plt.show()
plt.close()
、問題はありません。しかし、r=r2
の場合、プロットの半径範囲は間違っており、[0.5、1.]ではなく[0.5、0.82]で変化します。
私のコードで何が問題になっていますか? matplotlib.pyplot.streamplot
のdocから
蒸気線が '[3.16、6.8]'と '[10 ** 0.5、10 ** 1] = [3.16,10]'の間ではなく、下限が正しいという問題があると思いますしかし、上限は期待に満たない。それに応じて質問を編集する必要があります。 – ImportanceOfBeingErnest
申し訳ありませんが、この例ではr2の表現に間違いがありました。 r2が[0.5、1]になるように変更されました。ストリームプロットはまだ間違っています。 – Azlof