注意
转到末尾下载完整的示例代码。
不同单位的图尺寸#
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()

像素图尺寸#
类似地,也可以使用从像素到英寸的转换。
请注意,如果您使用具有不同显式 dpi 值的 savefig
,可能会破坏此设置。
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()

快速交互式工作通常会渲染到屏幕上,这使得像素成为一个好的尺寸单位。但是,对于快速迭代来说,定义转换因子可能会感觉有点繁琐。
由于默认的 rcParams['figure.dpi'] = 100
,人们可以在心中将所需的像素值除以 100 [1]
plt.subplots(figsize=(6, 2))
plt.text(0.5, 0.5, '600px x 200px', **text_kwargs)
plt.show()

参考
本示例展示了以下函数、方法、类和模块的使用
脚本总运行时间: (0 分 1.448 秒)