異なる単位での図のサイズ#

Matplotlib のネイティブの図のサイズ単位はインチであり、印刷業界の標準に由来します。ただし、ユーザーはセンチメートルやピクセルなどの他の単位で数値を指定する必要がある場合があります。この例は、これを効率的に行う方法を示しています。

import matplotlib.pyplot as plt
text_kwargs = dict(ha='center', va='center', fontsize=28, color='C1')

Figure サイズ (インチ) (デフォルト) #

plt.subplots(figsize=(6, 2))
plt.text(0.5, 0.5, '6 inches x 2 inches', **text_kwargs)
plt.show()
フィギュアサイズの単位

センチメートルでの図のサイズ#

センチメートル単位の数値に、cm からインチへの換算係数を掛けると、正しい数値が得られます。変換係数に名前cmを付けると、変換は数値に単位を追加したように見えるため、読みやすくなります。

cm = 1/2.54  # centimeters in inches
plt.subplots(figsize=(15*cm, 5*cm))
plt.text(0.5, 0.5, '15cm x 5cm', **text_kwargs)
plt.show()
フィギュアサイズの単位

Figure のサイズ (ピクセル単位) #

同様に、ピクセルからの変換を使用できます。

savefig別の明示的な dpi 値で使用すると、これが壊れる可能性があることに注意してください。

px = 1/plt.rcParams['figure.dpi']  # pixel in inches
plt.subplots(figsize=(600*px, 200*px))
plt.text(0.5, 0.5, '600px x 200px', **text_kwargs)
plt.show()
フィギュアサイズの単位

素早いインタラクティブな作業は通常、画面にレンダリングされ、ピクセルが適切なサイズの単位になります。しかし、変換係数の定義は、迅速な反復では少し面倒に感じるかもしれません。

デフォルトのため、必要なピクセル値を頭の中で 100 [ 1 ]で割ることができます。rcParams['figure.dpi'] = 100

plt.subplots(figsize=(6, 2))
plt.text(0.5, 0.5, '600px x 200px', **text_kwargs)
plt.show()
フィギュアサイズの単位

参考文献

この例では、次の関数、メソッド、クラス、およびモジュールの使用が示されています。

Sphinx-Gallery によって生成されたギャラリー