ホームページ > バックエンド開発 > Python チュートリアル > Matplotlib Savefig が空白のイメージを生成するのはなぜですか?

Matplotlib Savefig が空白のイメージを生成するのはなぜですか?

Susan Sarandon
リリース: 2024-11-15 08:54:02
オリジナル
750 人が閲覧しました

Why is My Matplotlib Savefig Producing a Blank Image?

Matplotlib の Savefig メソッドの空の出力

Matplotlib を使用して生成されたプロットを保存しようとすると、保存された画像が表示されるという問題が発生する可能性があります空白。この記事では、複数のサブプロットを含むプロットを保存しようとするコード スニペットを調べることで、この問題に対処します。

提供されたコードには 3 つのサブプロットがあり、1 つは T0 という名前の変数の可用性に基づいて条件付きです。コード シーケンスは次のとおりです。

  1. 新しい Figure とサブプロットの作成
  2. サブプロット内のデータの視覚化
  3. プロットを表示するための plt.show の呼び出し
  4. plt.savefig を呼び出してプロットを PNG 形式で保存します

ただし、保存された画像 (tesssttyyy.png) は空白のままです。この問題のトラブルシューティングを行うには、いくつかの要因を考慮する必要があります。

T0 の存在の影響:

  • T0 が None でない場合のコードの動作を確認します。このような場合、追加のサブプロットが作成され、サブプロット インデックスに影響を与える可能性があります。

関数呼び出しのシーケンス:

  • plt.show( ) 新しい図を作成します。正しい Figure を確実に保存するには、plt.show() の前に plt.savefig を呼び出すか、plt.gcf() で現在の Figure をフェッチして Figure を個別に保存することをお勧めします。

Basedこれらの考慮事項に基づいて、推奨される解決策を 2 つ示します。

方法 1:

  • plt.show() の前に plt.savefig を呼び出して、初期図を保存します。新しいものが生成される前に。
plt.savefig('tessstttyyy.png', dpi=100)
plt.show()
plt.draw()
ログイン後にコピー

方法 2:

  • 使用して plt.show() を呼び出す前に現在の Figure を保存します。 plt.gcf().
fig1 = plt.gcf()
plt.show()
plt.draw()
fig1.savefig('tessstttyyy.png', dpi=100)
ログイン後にコピー

結論:

Matplotlib の savefig メソッドの空白の画像の問題は、関数呼び出しのシーケンスを調整することで解決できます。正しい図が保存されていることを確認するか、T0 の可用性に基づいてサブプロットの条件付き作成を処理します。

以上がMatplotlib Savefig が空白のイメージを生成するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート