不同单位的图形大小#

Matplotlib 中的原生图形尺寸单位是英寸,源自印刷行业标准。但是,用户可能需要以厘米或像素等其他单位指定他们的数字。这个例子说明了如何有效地做到这一点。

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

以英寸为单位的图形大小(默认)#

plt.subplots(figsize=(6, 2))
plt.text(0.5, 0.5, '6 inches x 2 inches', **text_kwargs)
plt.show()
图形尺寸单位

图形大小以厘米为单位#

将基于厘米的数字与从厘米到英寸的转换因子相乘,得到正确的数字。命名转换因子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()
图形尺寸单位

以像素为单位的图形大小#

同样,可以使用像素转换。

请注意,如果您使用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 生成的画廊