当使用seaborn绘制热图(以及使用matplotlib绘制相关矩阵)时,第一行和最后一行被切成两半。 当我运行我在网上找到的这个最小代码示例时,也会发生这种情况。
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
data = pd.read_csv('https://raw.githubusercontent.com/resbaz/r-novice-gapminder-files/master/data/gapminder-FiveYearData.csv')
plt.figure(figsize=(10,5))
sns.heatmap(data.corr())
plt.show()
y 轴上的标签位于正确的位置,但行并不完全在那里。
几天前,它按预期工作。从那时起,我安装了 texlive-xetex,所以我再次将其删除,但它并没有解决我的问题。
有什么想法我可能会错过吗?
最佳答案
不幸的是matplotlib 3.1.1 broke seaborn heatmaps ;通常是带有固定刻度的倒轴。
这在当前的开发版本中已修复;你可能因此
- 恢复到 matplotlib 3.1.0
- 使用 matplotlib 3.1.2 或更高版本
- 手动设置热图限制 (
ax.set_ylim(bottom, top) # 将 ylim 设置为bottom, top
)
关于python - 第一行和最后一行将热图图切成两半,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57081073/