在 Matplotlib 中,您可以使用以下方法将英寸和像素之间进行转换:

  1. 将英寸转换为像素:

    使用函数 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像素
    
  2. 将像素转换为英寸:

    使用函数 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 可能不同,因此最好使用英寸作为单位。

Matplotlib 英寸与像素转换指南:详细步骤和代码示例

原文地址: https://www.cveoy.top/t/topic/oWLn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录