注意
转到末尾下载完整的示例代码。
不同单位的图形大小#
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.752 秒)