Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改箭袋的轴刻度-Python_Python_Vector_Matplotlib - Fatal编程技术网

更改箭袋的轴刻度-Python

更改箭袋的轴刻度-Python,python,vector,matplotlib,Python,Vector,Matplotlib,我正在用Matplotlib的quiver方法绘制一个向量场 我存储此向量的数组具有维度x*y,但我使用的空间从-2到2不等 到目前为止,要绘制向量场,我有以下方法: import matplotlib.pyplot as plt def plot_quiver(vector_field_x, vector_field_y, file_path): plt.figure() plt.subplots() plt.quiver(vector_field_x, vector

我正在用Matplotlibquiver方法绘制一个向量场

我存储此向量的数组具有维度x*y,但我使用的空间从-22不等

到目前为止,要绘制向量场,我有以下方法:

import matplotlib.pyplot as plt

def plot_quiver(vector_field_x, vector_field_y, file_path):
    plt.figure()
    plt.subplots()
    plt.quiver(vector_field_x, vector_field_y)
    plt.savefig(file_path + '.png')
    plt.close()
例如,对于10 x 10阵列,它给出了以下输出:

但是为了生成这个向量场,我将数据集中在x=0y=0,x和y范围从-22。 然后,我想按照这个模式绘制图像的轴

作为一种标准方法,我尝试了以下几点:

def plot_quiver(vector_field_x, vector_field_y, file_path):
    plt.figure()
    fig, ax = plt.subplots()
    ax.quiver(vector_field_x, vector_field_y)
    ax.set_xticks([-2, 0, 2])
    ax.set_yticks([-2, 0, 2])    
    plt.savefig(file_path + '.png')
    plt.close()
它通常与Matplotlib方法一起使用,例如imshowstreamplot

但这是我用这段代码得到的:

这不是我想要的

因此,我想知道如何执行我在这里解释的更改轴刻度


提前谢谢你。

有趣的是,我昨天才知道了箭袋的事……)

根据,函数可以接受2到5个参数

使用该函数的最简单方法是将两个元素数相等的数组传递给它
U
V
。然后,matplotlib将为数组中的每个元素绘制一个箭头。具体而言,对于每个元素
i,j
,您将在
i,j
处获得一个箭头,其组件由
U[i,j]
V[i,j]
定义。这就是发生在你身上的事

一个更完整的语法是使用相同数量的元素传递数组
X
Y
U
V
。同样,您将为每个
i,j
元素获得一个箭头,该元素的组件由
U[i,j]
V[i,j]
定义,但这次它们将被放置在坐标
X[i,j]
Y[i,j]

总之: 您需要像这样调用
quiver

quiver(values_x, values_y, vector_field_x, vector_field_y)
可能您已经这样做了,但是您可以使用该函数获取
值x
值y

quivel
函数的默认值也可能有用

我希望有帮助

正如我们对流线图所做的那样。。。非常感谢。(: