ホームページ >バックエンド開発 >Python チュートリアル >Matplotlib で拡大する凡例に合わせて図ボックスのサイズを動的に拡大する方法
Matplotlib の軸の外側に凡例を配置すると、凡例が軸を超えて拡張されることがあります。 Figure ボックスの境界線が切れてしまい、外観が途切れてしまいます。軸を縮小してサイズを変更することは、データの可視性を低下させるため、最適な解決策ではありません。
望ましい解決策は、Figure ボックスのサイズを動的に拡張することです。拡張凡例を収容します。
これを実現するには、bbox_extra_artists 引数を含めるように savefig 関数呼び出しを調整できます:
<code class="python">fig.savefig('samplefigure', bbox_extra_artists=(lgd,), bbox_inches='tight')</code>
これは、Figure ボックスのサイズを計算するときに、凡例 (lgd) などの追加のアーティストを考慮することを指定します。
この変更された savefig 呼び出しの使用:
<code class="python">import matplotlib.pyplot as plt import numpy as np fig = plt.figure(1) ax = fig.add_subplot(111) ax.set_title("Trigonometry") 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='upper center', bbox_to_anchor=(0.5,-0.1)) ax.grid('on') fig.savefig('samplefigure', bbox_extra_artists=(lgd,), bbox_inches='tight')</code>
凡例が軸を超えて拡張された図を生成しますが、展開された図ボックス内に収まります:
Trigonometry 2 1 0 -1 -2 -4π -2π 0 2π 4π Inverse tan Cosine Sine
以上がMatplotlib で拡大する凡例に合わせて図ボックスのサイズを動的に拡大する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。