0

私はJupyterのノートPCを使用して大好きですが、プロットを可視化するための正しいバックエンドを見つけることができないよう:%matplotlib inline本当に低解像度、ビットマップ画像を生成しますが、高速で、かつ%matplotlib nbaggまたは%matplotlib notebook遅いが、高解像度ですベクトルグラフィックス。matplotlibのNbaggバックエンドを高速化する方法や、インラインバックエンドの解像度を上げる方法はありますか?

後者は、対話インターフェイスを設定する必要があるため遅くなる可能性がありますか?私は一般にボタンをクリックするだけですべての数字が再現できるようにしたいので、手動で操作したくないのですが、のプロットごとに対話を無効にすることは可能でしょうか

ビットマップイメージではなくベクトルグラフィックスをロードするか、高解像度で図を表示するように調整することはできますか?

答えて

0

多くの場合、質問を投稿した直後に回答が見つかりました。ただ、ベクトルグラフィックスのための

%config InlineBackend.figure_format='retina' 
%matplotlib inline 
高解像度のビットマップのため

または

%config InlineBackend.figure_format='svg' 
%matplotlib inline 

を使用すると、それはトリックを行います! この問題の1つの問題は、 Figure境界ボックスがすべて Artistオブジェクトを示すように拡張されていることです。私は fig.tight_layout()のようなものは、数字を表示する前に内部的に使用されていると思う。私は実際に を切り捨てての端を切り取って、どのパラメータを調整する必要があるかを確認できます(例えば、 ylabelが切り捨てられている場合はの plt.subplotsに渡された left=を変更できます)。だから誰も上記のような数字を表示する方法があるが、 でもは、 Figureの境界ボックス内にあるものだけを表示するので、私はそれを感謝します。

はまた、バックエンドArtist sが外に出ても、プリントフィギュアバウンディングボックスを保つようにする方法を考え出した - デフォルトでは、その値が{'bbox_inches': 'tight'}あるので、ちょうど

%config InlineBackend.print_figure_kwargs=dict() 

を使用して...非常に簡単!これに関するドキュメントは見つかりませんでしたが、Jupyterには%config InlineBackendと入力すると異なるオプションが表示されます。

関連する問題