使用Seaborn基于Pandas DataFrame绘制2D热图无图像输出求助
Seaborn热图无法展示问题解决方案
你当前得到的<AxesSubplot:ylabel='labels'>输出不是错误,只是matplotlib绘图对象的默认返回文本。你写的核心代码逻辑完全正确,数据结构也符合seaborn heatmap的输入要求,热图无法展示是运行环境的绘图配置问题,按照你使用的环境对应调整即可:
如果你使用Jupyter Notebook / Jupyter Lab运行代码
只需在导入matplotlib模块后添加Jupyter专属的绘图渲染魔术命令,修改后的代码片段如下:import seaborn as sns import matplotlib.pylab as plt %matplotlib inline ax = sns.heatmap(df) plt.show()注意:
%matplotlib inline是Jupyter专属命令,不要写入本地.py脚本,会触发语法错误如果你本地直接运行.py格式的脚本
首先检查是否安装了matplotlib交互式图形后端,Linux系统可执行命令安装默认Tk后端:sudo apt install python3-tk
也可以显式指定绘图后端,在导入plt前添加如下代码:import matplotlib matplotlib.use('TkAgg') import matplotlib.pylab as plt如果你使用的在线运行环境不支持弹出图形窗口
可以直接把生成的热图保存到本地文件,将plt.show()替换为保存命令即可:ax = sns.heatmap(df) plt.savefig('survey_heatmap.png', dpi=300, bbox_inches='tight')
内容的提问来源于stack exchange,提问作者Alex Szolnoki
相关产品推荐
相关产品推荐

