【python】Seaborn画热力图,只显示第一行数字---seaborn与matplotlib版本问题

文章讲述了在使用seaborn绘制热图时遇到的问题,原因是matplotlib的新版本(3.8.0)与seaborn(0.12.0)之间的API不兼容。通过回退matplotlib版本至3.7.3,问题得以解决,推测是由于seaborn依赖的matplotlib更新导致的API变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

github上有这个讨论:Heatmap only has annotation text in the top row only · Issue #3478 · mwaskom/seaborn (github.com)翻译过来就是:热图仅在最上面一行有注释文本;

原因就是matplotlib 在2023年9月更新到了 3.8.0版本,改变了一些东西,而seaborn 最新版是0.12.0,还是2022年12月更新的。

等seaborn更新吧😪


import matplotlib.pyplot as plt
import seaborn as sns
matrix = np.random.randn(5, 5)
fig = plt.figure()
sns_plot = sns.heatmap(matrix, annot=True)
plt.show()

Seaborn画热力图,只显示第一行数字

貌似是版本问题,我这边换了另一个能正常画出热力的虚拟环境,再试一次是有用的 。

怀疑是matplotlib或numpy版本问题(seaborn依赖这些包),感觉可能是经过逐个降级,发现是maplotlib版本过高

原来版本:matplotlib = 3.8.0,seaborn = 0.12.0

现在版本:matplotlib = 3.7.3,seaborn = 0.12.0

现在有用了

原因猜想:seaborn最先版在2022年12月更新,而matplotlib一直在更新,而3.8.0的API发生了变化,也许是这个原因导致的.

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值