backend_qtagg#backend_qtcairo

これらのバックエンドは、ドキュメントの構築に依存関係を追加することを避けるために、ここでは (自動的に) ドキュメント化されていません。

Qtバインディング#

現在、Qt5 と Qt6 の 2 つの積極的にサポートされている Qt バージョンと、バージョンごとにサポートされている 2 つの Python バインディング ( Qt5の場合は PyQt5 とPySide2Qt6場合はPyQt6とPySide6 [ 1 ] )があります。PyQt と Qt for Python (別名 PySide) はどちらも、それらがラップしている基礎となる C++ API を厳密に反映していますが、互いのドロップイン置換ではありません[ 2 ]。これを説明するために、Matplotlib には、私たちのニーズをカバーする内部 API 互換性レイヤーが あります。公開モジュールであるにもかかわらず、これが安定したユーザー向け API であるとは考えておらず、警告なしに変更される可能性があります[ 3 ]matplotlib.backends.qt_compat

以前は、Matplotlib の Qt バックエンドの名前に、モジュールとrcParams["backend"]値の両方に Qt のバージョン番号が含まれていました (例: matplotlib.backends.backend_qt4aggand matplotlib.backends.backend_qt5agg)。ただし、Qt6 のサポートを追加する一環として、Qt のすべてのバージョンとバインディングのサポートを .NET で処理する単一の実装で、Qt5 と Qt6 の両方をサポートすることができました qt_compat。レンダラーに依存しない Qt コードの大部分は、matplotlib.backends.backend_qtAGG backend_qtaggと cairo に特化したものになりましたbackend_qtcairo

QtCoreバインディングは、(サブパッケージをチェックすることによって) 既にインポートされているバインディングに基づいて実行時に選択されます。QT_API 環境変数、そして最後にrcParams["backend"]. 検索する必要があるすべての場合において、順序はPyQt6PySide6PyQt5ですPySide2Qt 実装を選択するにはどうすればよいですか? を参照してください。使用説明書。

backend_qt5backend_qt5aggおよびbackend_qt5cairoが提供され、下位互換性のために Qt5 バインディングの使用が強制されます。それらの使用はお勧めできません (非推奨ではありません) 。代わりに、、、backend_qtまたはbackend_qtaggを 使用することをお勧めします。backend_qtcairoただし、Qt5 のサポートを終了するまで、これらのモジュールは非推奨になりません。