了解箭袋情节规模

时间:2013-07-09 12:04:08

标签: python matplotlib scale vector-graphics

我试图理解,尺度如何在箭袋中起作用。我找到了here的解释,但我想仔细检查一下,我理解作者所说的内容。

当他说

  

将angles关键字设置为'xy'意味着矢量组件根据物理轴单位而不是页面上的几何单位进行缩放。

他的意思是,如果我有一些1像素的运动(为了简单,让我们说每1秒),这发生在一个232x232图像(实际上我有),将1px / s运动显示缩放232次?那是1/232?或者1px / s是否表示为1 px(无论与轴的角度),也就是说它需要1px,但是该像素出现在图像上,具有232 x 232像素大小的图像?

  

将矢量分量单位乘以经纬度转换为物理轴单位的实际比例因子是宽度/比例,其中宽度是以物理单位表示的图的宽度,比例是由箭头的scale关键字参数指定的数字。

这是否意味着,如果说,我选择我的比例为10,实际上10px / s的矢量将显示为1px / s? (我知道这些是非常基本的问题,但我对“物理轴”和“页面上的几何单位”感到困惑。)

我想我会通过简单地拥有两个图像来测试这个,一个尺寸,比如40x40,另一个160x160,相同的1px运动,看看它是如何影响情节的。

我想要做的是实际上有1px / s表示1px长度,无论该长度如图所示(使用matplotlib.pyplot)。

1 个答案:

答案 0 :(得分:0)

好的,所以我玩弄合成数据并使用“angles ='xy'”或者只是将它留下来(比如

q = pl.quiver(a[valid,0],a[valid,1],a[valid,2],a[valid,3], color='r',**kw), 其中一个kwargs是你的比例因子。

它似乎与绘图的 width 一致。我用了

pl.draw() pl.xticks(np.arange(0,120,32)) pl.yticks(np.arange(0,100,32)) pl.grid(color = 'y') pl.savefig(new_file, bbox = "tight") 保存我的数字(实际图像为120x100(在这种情况下),120x120和64x64。

我做了什么来测试它: 我在水平和垂直方向上创建了一个像素移位,然后在其他一些图像上创建了一个5px的对角移位(3个向右和向下4个)。

要使1px / s矢量与图像中的1px一样长,您必须将比例设置为图的 width ,即在我的情况下,它是64或120。我想看看是否有非方形图像会影响比例,所以我将图像裁剪为100px高度。从我做过的几个测试中,它似乎似乎没有任何效果。值得测试不同的像素移位,但由于使用不同的边长图像不能对水平/垂直移位进行不同的缩放,我认为可以安全地假设它的行为符合预期。

我想知道这种矢量缩放的原因是什么......