更改箭袋的轴刻度-Python
我正在用Matplotlib的quiver方法绘制一个向量场 我存储此向量的数组具有维度x*y,但我使用的空间从-2到2不等 到目前为止,要绘制向量场,我有以下方法:更改箭袋的轴刻度-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
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=0,y=0,x和y范围从-2到2。
然后,我想按照这个模式绘制图像的轴
作为一种标准方法,我尝试了以下几点:
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方法一起使用,例如imshow和streamplot
但这是我用这段代码得到的:
这不是我想要的
因此,我想知道如何执行我在这里解释的更改轴刻度
提前谢谢你。有趣的是,我昨天才知道了箭袋的事……) 根据,函数可以接受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
函数的默认值也可能有用
我希望有帮助 正如我们对流线图所做的那样。。。非常感谢。(: