与matplotlib

时间:2017-12-08 11:11:35

标签: python matplotlib plot

我正在尝试使用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=r1(linspace),没有问题。但是对于r=r2,绘图的径向范围是错误的,并且在[0.5,0.82]而不是[0.5,1。]中变化。

我的代码出了什么问题?

1 个答案:

答案 0 :(得分:0)

matplotlib.pyplot.streamplot的{​​{3}}开始,x, y必须均匀分布。因此,您可以使用scipy的doc插入数据。 interpolants可能符合您的需求。

[编辑]这是通过插值在griddata SO问题中解决的。