python - 第一行和最后一行将热图图切成两半

标签 python matplotlib seaborn heatmap

当使用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()

And get this result (I am not allowed to embed images yet) y 轴上的标签位于正确的位置,但行并不完全在那里。

几天前,它按预期工作。从那时起,我安装了 texlive-xetex,所以我再次将其删除,但它并没有解决我的问题。

有什么想法我可能会错过吗?

最佳答案

不幸的是ma​​tplotlib 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/

相关文章:

python - 带迭代的二维字典

python - 更快地更新Python中的绘图,而不是使用plot.pause()

python - 尝试在 python 中绘制颜色图

python-3.x - 如何为 pandas 数据帧的列中的特定值分配颜色?

python - 仅运行 .bashrc 形式的脚本一次

python - Python中相关函数的分组

python - 如何按月份升序对 X 轴进行排序?

python - 使用 matplotlib 从 CSV 文件中绘制数据

python - 带有 seaborn tsplot 的多折线图

生成seaborn热图子图的Pythonic方法