You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中保存1920×1080像素的绘图?调整DPI无效求助

保存1920×1080像素的Matplotlib绘图解决方案

要得到精确的1920×1080像素绘图,核心是理解Matplotlib中英寸尺寸和**DPI(每英寸像素数)**的关系:

最终像素尺寸 = 图的英寸尺寸 × DPI

你之前的问题出在figsize=(10,12)的高度设置不符合目标像素,结合DPI调整后自然无法得到1080像素的高度。下面是两种可靠的实现方法:

方法1:创建图时直接指定匹配的尺寸和DPI

选择一个DPI(比如192,是常用高DPI值),计算对应的英寸尺寸:

  • 宽度:1920 / 192 = 10 英寸
  • 高度:1080 / 192 = 5.625 英寸

代码示例:

import matplotlib.pyplot as plt

# 创建符合尺寸的画布
fig, ax = plt.subplots(figsize=(10, 5.625), dpi=192)

# 这里添加你的绘图逻辑,比如:
ax.plot([1, 3, 5], [2, 4, 6])
ax.set_title("1920x1080 Plot")

# 保存时使用相同DPI,避免缩放
plt.savefig("output_plot.png", dpi=192, bbox_inches='tight')

方法2:先绘图再调整尺寸保存

如果已经有绘图代码,也可以事后调整画布尺寸:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

# 你的绘图代码
ax.scatter([0, 1, 2], [0, 1, 4])

# 将画布尺寸转换为目标像素对应的英寸数(以DPI=192为例)
fig.set_size_inches(1920/192, 1080/192)

# 保存时指定DPI,tight参数防止边缘裁剪
plt.savefig("output_plot.png", dpi=192, bbox_inches='tight')

关键注意事项

  • 保存时的dpi参数必须和画布设置的DPI一致,否则会导致最终像素尺寸缩放。
  • bbox_inches='tight'可选,但能避免绘图内容被边缘裁剪,确保完整保存。
  • 也可以选择其他DPI值,比如DPI=96时,英寸尺寸为(20, 11.25),同样能得到1920×1080像素。

内容的提问来源于stack exchange,提问作者Jessica trevor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 02:45:24