Matplotlib で軸の外側の凡例を収容するために図ボックスを拡張する方法は?

Barbara Streisand
リリース: 2024-10-18 12:18:30
オリジナル
383 人が閲覧しました

How to Expand Figure Box to Accommodate Legends Outside the Axis in Matplotlib?

軸外の凡例の図ボックスの展開

凡例を軸の外に移動すると、多くの場合、図ボックスが小さすぎて、伝説のサイズ。軸の縮小は、プロット サイズが小さくなり、複雑なデータの解釈が困難になるため、理想的ではありません。

Figure Box の動的サイズ変更

この問題を解決するには、次のことが可能です。凡例に合わせて Figure ボックスのサイズを動的に調整します。これは、次の引数を使用して savefig() 呼び出しを変更することで実現できます:

  1. bbox_extra_artists で、凡例など、軸を超えて広がる追加アーティストを含めます。
  2. bbox_inches='tight ' 内のすべての要素が収まるように Figure のサイズを調整します。

コード例

次のコードを考えてみましょう:

<code class="python">import matplotlib.pyplot as plt
import numpy as np

# Construct a plot with a legend
x = np.arange(-2*np.pi, 2*np.pi, 0.1)
fig = plt.figure(1)
ax = fig.add_subplot(111)
ax.plot(x, np.sin(x), label='Sine')
ax.plot(x, np.cos(x), label='Cosine')
ax.plot(x, np.arctan(x), label='Inverse tan')
lgd = ax.legend(loc=9, bbox_to_anchor=(0.5,0))
ax.grid('on')

# Save the figure with the adjusted bounding box
fig.savefig('samplefigure', bbox_extra_artists=(lgd,), bbox_inches='tight')</code>
ログイン後にコピー

出力

このコードは、軸の外側に凡例を含むプロットを作成し、凡例を収容するために Figure ボックスが拡張されます。 bbox_extra_artists 引数内にテキスト ラベルなどの追加のアーティストを含めることもできます。

簡略化されたコマンド

Matplotlib の最近のバージョンでは、コマンドが簡略化されました。 。厳密な境界ボックスを含む Figure を保存するには、次の引数のみが必要です:

<code class="python">plt.savefig('x.png', bbox_inches='tight')</code>
ログイン後にコピー

以上がMatplotlib で軸の外側の凡例を収容するために図ボックスを拡張する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!