データを視覚化する場合、さまざまなサイズのサブプロットを作成することが一般的な要件です。 Matplotlib は、サブプロットの次元を調整する 2 つの方法を提供します。GridSpec を使用する方法と、Figure 自体を構成する方法です。
サブプロットのサイズ設定に Matplotlib の Figure を使用する
提供された例では、タスク最初のサブプロットの幅が 2 番目のサブプロットの 3 倍である 2 つのサブプロットを作成することです。 Figure のコンストラクターを使用すると、引数 figsize を使用して最初のプロットのサイズを調整できます。ただし、2 番目のプロットのサイズは、この方法で直接制御することはできません。
キーワード引数による解決策 (Matplotlib >= 3.6.0)
Matplotlib バージョン以降3.6.0 では、キーワード引数を plt.subplots および subplot_mosaic に直接渡して、サブプロットの width_ratios または height_ratios。これにより、この特定のタスクに GridSpec が必要なくなります。
import matplotlib.pyplot as plt # Create subplots with custom width ratios f, (a0, a1) = plt.subplots(1, 2, width_ratios=[3, 1]) # Plot on subplots a0.plot(x, y) a1.plot(y, x) # Save to PDF f.savefig('custom_width_subplots.pdf')
Gridspec_kw でのサブプロットの使用
以前のバージョンの Matplotlib の場合、またはより詳細な制御の場合subplot レイアウトでは、gridspec_kw 引数を指定した subplots 関数を使用できます。このアプローチには、gridspec_kw ディクショナリの width_ratios または height_ratios で指定された Figure と個々のサブプロットの作成が含まれます。
import numpy as np import matplotlib.pyplot as plt # Generate data x = np.arange(0, 10, 0.2) y = np.sin(x) # Create subplots with custom width ratios f, (a0, a1) = plt.subplots(1, 2, gridspec_kw={'width_ratios': [3, 1]}) # Plot on subplots a0.plot(x, y) a1.plot(y, x) # Tighten layout and save to PDF f.tight_layout() f.savefig('grid_figure.pdf')
以上がサイズを柔軟に構成できる Matplotlib サブプロットを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。