Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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_Image_Matplotlib_While Loop - Fatal编程技术网

Python 如何保存箭袋图

Python 如何保存箭袋图,python,image,matplotlib,while-loop,Python,Image,Matplotlib,While Loop,让我给你看看我的代码 array['fieldv'].shape 如果我绘制一个元素,这个图像就会出现 %matplotlib inline U, V = array['fieldv'][10,:,:,0], array['fieldv'][10,:,:,1] plt.quiver(U[::4,::4], V[::4, ::4]) 现在我的问题是:如何将112个元素的所有箭袋保存在一个目录中? 我给你看我的代码,它不工作 %matplotlib inline i = 0 while i

让我给你看看我的代码

array['fieldv'].shape
如果我绘制一个元素,这个图像就会出现

%matplotlib inline
U, V  = array['fieldv'][10,:,:,0], array['fieldv'][10,:,:,1]
plt.quiver(U[::4,::4], V[::4, ::4])

现在我的问题是:如何将112个元素的所有箭袋保存在一个目录中? 我给你看我的代码,它不工作

%matplotlib inline

i = 0
while i != len(array['fieldv'][0]):
    U, V  = array['fieldv'][i:,:,0], array['fieldv'][i,:,:,1]
    fig = plt.quiver(U[::4,::4], V[::4, ::4])

    filename = '/home/rr/workspace/TEST/OUTPUT/vectorf/'
    fig.savefig(filename + 'TEST_' + str(i) + '.png')
    i += 1

plt.quiver
不返回图形实例(选中
type(fig)
,您将看到
plt.quiver
实际上创建了一个quiver实例)。箭袋对象没有
savefig
方法,因此
fig.savefig
将不起作用。但是,您应该能够将
fig.savefig
命令与
plt.savefig
交换

作为更一般的评论,我认为在这里使用for循环比使用while语句更合适。对于范围内的I(数组['fieldv'].shape[0]):,我会这样做。我还认为
.format
有点整洁:
plt.savefig('{}TEST{}.png'.format(filename,I))

总而言之,我会:

filename = '/home/rr/workspace/TEST/OUTPUT/vectorf/'

for i in range(array['fieldv'].shape[0]):
    U, V  = array['fieldv'][i:,:,0], array['fieldv'][i,:,:,1]
    Q = plt.quiver(U[::4,::4], V[::4, ::4])

    plt.savefig('{}TEST_{}.png'.format(filename, i))
filename = '/home/rr/workspace/TEST/OUTPUT/vectorf/'

for i in range(array['fieldv'].shape[0]):
    U, V  = array['fieldv'][i:,:,0], array['fieldv'][i,:,:,1]
    Q = plt.quiver(U[::4,::4], V[::4, ::4])

    plt.savefig('{}TEST_{}.png'.format(filename, i))