ホームページ >バックエンド開発 >Python チュートリアル >Matplotlib で多数の垂直方向に積み上げられたプロットを作成するときに、サブプロットの重複を防ぐにはどうすればよいですか?
多数のプロットを含む Matplotlib のサブプロットの重複
Web ページ上に表示するために Matplotlib で一連の垂直方向に積み重ねられたプロットを生成する場合、重複を防ぐためにサブプロット間の適切な間隔を確保することが重要です。図のサイズが大きくなったにもかかわらず、サブプロットは重複することがよくあります。
現在の実装
次のコードは、現在の実装を示しています。
import matplotlib.pyplot as plt import my_other_module titles, x_lists, y_lists = my_other_module.get_data() fig = plt.figure(figsize=(10,60)) for i, y_list in enumerate(y_lists): plt.subplot(len(titles), 1, i) plt.xlabel("Some X label") plt.ylabel("Some Y label") plt.title(titles[i]) plt.plot(x_lists[i],y_list) fig.savefig('out.png', dpi=100)
解決策: タイトなレイアウト
これに対処するにはこの問題が発生した場合は、matplotlib.pyplot.tight_layout または matplotlib.figure.Figure.tight_layout の使用を検討してください。これらの関数は、サブプロットと間隔が重ならないように調整します。
例
import matplotlib.pyplot as plt fig, axes = plt.subplots(nrows=4, ncols=4, figsize=(8, 8)) fig.tight_layout() # Or equivalently, "plt.tight_layout()" plt.show()
視覚的な比較
次の画像は、使用の影響を示しています。 tiny_layout:
tight_layout なし
tight_layout あり
以上がMatplotlib で多数の垂直方向に積み上げられたプロットを作成するときに、サブプロットの重複を防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。