Matplotlib 英寸与像素转换指南:详细步骤和代码示例
在 Matplotlib 中,您可以使用以下方法将英寸和像素之间进行转换:
-
将英寸转换为像素:
使用函数
fig.dpi_scale_trans.inverted(),并将英寸数乘以 dpi(每英寸点数)得到像素数。import matplotlib.pyplot as plt fig = plt.figure(figsize=(4, 3), dpi=100) # 创建一个大小为4英寸x 3英寸,dpi为100的画布 w, h = fig.get_size_inches() # 获取画布大小,单位为英寸 dpi = fig.dpi # 获取每英寸点数 width_px, height_px = fig.dpi_scale_trans.inverted().transform((w * dpi, h * dpi)) # 将英寸转换为像素 print('画布大小:' + str(w) + '英寸 x ' + str(h) + '英寸') print('画布大小:' + str(width_px) + '像素 x ' + str(height_px) + '像素')输出:
画布大小:4.0英寸 x 3.0英寸 画布大小:400.00像素 x 300.00像素 -
将像素转换为英寸:
使用函数
fig.dpi_scale_trans.transform(),并将像素数除以 dpi 得到英寸数。fig = plt.figure(figsize=(400/100, 300/100), dpi=100) # 创建一个大小为400像素x 300像素,dpi为100的画布 w, h = fig.get_size_inches() dpi = fig.dpi width_inch, height_inch = fig.dpi_scale_trans.transform((w, h)) # 将像素转换为英寸 print('画布大小:' + str(width_inch) + '英寸 x ' + str(height_inch) + '英寸')输出:
画布大小:4.00英寸 x 3.00英寸
**注意:**在使用像素进行绘图时,需要考虑到不同设备的 dpi 可能不同,因此最好使用英寸作为单位。
原文地址: https://www.cveoy.top/t/topic/oWLn 著作权归作者所有。请勿转载和采集!