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

如何保存高质量热力图?添加dpi后图像仍不完整

解决Matplotlib+Seaborn热力图保存时分辨率低、图像不完整的问题

针对你遇到的热力图保存后分辨率低且内容被裁剪的问题,按以下步骤修改代码即可解决:

核心问题分析

  • 图像不完整:Matplotlib默认布局没有为轴标签、刻度等元素预留足够空间,导致边缘内容被裁剪
  • 分辨率低:默认保存的dpi值太低,需要手动指定高分辨率参数

修改后的代码

import matplotlib.pyplot as plt
import seaborn as sns

plt.style.use("bmh")
# sns.set_theme(style="darkgrid")

# 数据透视(注意避免变量名重复,建议将原数据变量名改为df)
df_pivot = df.pivot("Design Parameter", "No. of Studies", 'No. of Studies')
ax = sns.heatmap(df_pivot, cmap="YlGnBu", linewidths=.5)

# 1. 自动调整布局,避免内容被裁剪
plt.tight_layout()

# 2. 保存时指定高分辨率dpi,配合bbox_inches确保内容完整
ax.figure.savefig("Design parameters.tiff", dpi=300, bbox_inches='tight')

关键修改点说明

  • plt.tight_layout():自动调整子图间距、轴标签位置,确保所有元素都在画布范围内
  • dpi=300:设置印刷级别的高分辨率(可根据需求调整为600等更高数值)
  • bbox_inches='tight':作为补充,强制保存整个图形内容,彻底避免边缘元素被裁剪
  • 注意:原代码中x = x.pivot(...)会覆盖原始数据变量,建议修改变量名避免后续代码出错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 12:00:51