有没有办法让matplotlib的quiver
和streamplot
函数使用图像坐标约定(原点在左上角,+ y点向下),而不是标准坐标约定(左下角的原点,+ y点向上)?
上下文:
我同时使用quiver
和streamplot
来显示两个图像之间的光流场。你可以在下面看到一个例子。
不幸的是,quiver
和streamplot
都期望在传统坐标中定义流场,而我的流场在图像坐标中定义。
在上图中,我将流程手动转换为常规坐标,然后将其传递给streamplot
。流线正确显示,但轴标签仍处于传统坐标中。请注意他们如何不同意前两个图像的轴标签。
我也可以手动转换轴标签,但有一些更简单的方法让我只需要streamplot
和quiver
来理解流场是在图像坐标约定中定义的,并且应该如此显示(原点在左上角,+ y点下来)?
答案 0 :(得分:1)
如果您想要完全模仿图像轴的显示(包括0.5
偏移和y轴的反转),那么您可以检索前两个中的一个的x和y限制{ {1}}然后将它们应用到axes
轴
streamplot