解决热力图(heatmap)坐标处边界无法完整显示的问题

本篇文章记录如何快速安装matplotlib库,解决sns.heatmap()方法绘制的热力图最上面一行和最小面一行只显示一半,数字不居中的问题。

小白入门系列。单纯记录我的学习与问题,如果对你有帮助,我很开心,如果有什么建议,可以在评论区留言或者是私信,一起进步,谢谢。

在学习怎么画混淆矩阵的时候,知道了热力图(seaborn.heatmap()就可以画了),但是画出来的图片显示不全,如下图所示:

解决热力图(heatmap)坐标处边界无法完整显示的问题

查阅网上资料得知是matplotlib版本的问题,详情请见:https://stackoverflow.com/questions/56942670/matplotlib-seaborn-first-and-last-row-cut-in-half-of-heatmap-plot
于是我去查了一下我的matplotlib版本,通过以下命令:

解决热力图(heatmap)坐标处边界无法完整显示的问题
网上说这是matplotlib 3.1.1版本的bug。这个bug官方文档已经指出来了,详情请见:https://github.com/matplotlib/matplotlib/issues/14731

解决方法之一就是升级或者降级matplotlib的版本。我自己捣鼓了很久的升级操作都没有成功。导致我的matplotlib库也不能用了。最终决定卸载,重新安装,果然,失败了,额。。。。。。。

查阅网上资料,最终尝试这个方法成功了。详情请见:
https://blog.csdn.net/sinat_26811377/article/details/99698807

决定升级,所以我安装的版本是3.1.2,输入如下命令:

pip --default-timeout=100 install matplotlib==3.1.2 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

成功了,速度真的很快。

解决热力图(heatmap)坐标处边界无法完整显示的问题
解决热力图(heatmap)坐标处边界无法完整显示的问题

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
sns.set()
data = np.array([[1,2,3],[4,5,6],[7,8,9]])
sns.heatmap(data,annot=True)
plt.savefig('test1.png')
plt.show()

画出来的图如下所示:

解决热力图(heatmap)坐标处边界无法完整显示的问题

Original: https://blog.csdn.net/m0_52829559/article/details/112109100
Author: 米线比面条好吃
Title: 解决热力图(heatmap)坐标处边界无法完整显示的问题

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/767314/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球