2017-08-15 14 views
0

非常に単純な質問ですが、私はあまりに長くそれに固執していますし、助けには何も見つかりませんでした。matplotlibからpcolormeshイメージを保存するには

私はスパイダーで見ることができるイメージを生成しますが、保存関数を呼び出すと空の(すべて白い)イメージが保存されます。

x,y = np.meshgrid(xs, ys) 
z = np.array(zs) 

fig = plt.figure(figsize=(2,8)) 
plt.pcolormesh(x, y, z.T, cmap='RdYlGn') 
plt.colorbar() 
plt.show() 
plt.savefig('test.png') 

これは私がIDEで見たものである。

enter image description here

これは保存されますものです:

enter image description here

+0

実際、この質問にはどこか重複がありますが、私はそれを見つけることができませんでした。多分誰かができる。 – ImportanceOfBeingErnest

答えて

1

あなたはそれを表示する前に画像を保存する必要があります。

plt.show() 
plt.savefig('test.png') 

の代わりに、その理由は、プロットがplt.show()で示された後の図は、どのような保存されていることはどんなことなく、新しい数字であるように、現在のpyplot状態から削除されることである

plt.savefig('test.png') 
plt.show() 

が必要コンテンツ。

ただし、図自体はまだ存在します。だからあなたがフィギュアハンドルを持っていれば、それが実際に表示された後にそのフィギュアを保存するために使用するかもしれません。したがって、次のように動作します:

plt.show() 
fig.savefig('test.png') 
関連する問題