我试图在Python中使用 Matplotlib 绘制一些矢量流,并且我遇到了一些麻烦...
我试图比较两种方法,quiver和streamplot()。我已经阅读了两份文件,但我无法获得相同的结果。
我用这两种方法绘制载体:
import matplotlib.pyplot as plt
import numpy
def plot_quiver(x_dim, y_dim, steps, vector_field_x, vector_field_y, file_path):
plt.figure()
x, y = numpy.mgrid[-x_dim/2:x_dim/2:steps*1j, -y_dim/2:y_dim/2:steps*1j]
plt.quiver(x, y, vector_field_x, vector_field_y)
plt.savefig(file_path + '.png')
plt.close()
def plot_streamlines(file_path, x_dim, y_dim, steps, vector_field_x, vector_field_y, scalar_field=None):
plt.figure()
y, x = numpy.mgrid[-x_dim/2:x_dim/2:steps*1j, -y_dim/2:y_dim/2:steps*1j]
plt.figure()
if scalar_field is not None:
cs = plt.contour(x, y, scalar_field, extent=[-x_dim/2.0, x_dim/2.0, -y_dim/2.0, y_dim/2.0])
plt.clabel(cs, inline=1, fontsize=10)
# x, y : 1d arrays, an evenly spaced grid.
# u, v : 2d arrays
# x and y-velocities. Number of rows should match length of y, and the number of columns should match x.
plt.streamplot(x, y, vector_field_x, vector_field_y, cmap=plt.cm.autumn)
plt.savefig(file_path + '.png')
plt.close()
然而,我只是不知道如何让两个情节相等"等于#34;。
第一种方法绘制了这张图片(这正是我所期待的):
第二个给了我这个:
我不知道我必须做什么,所以他们匹配。我尝试了所有可能的组合而一无所获......
我真的需要两种可视化。
任何帮助将不胜感激。 提前谢谢。