python - matplotlib/seaborn:第一行和最后一行切成热图的一半
问题描述
当使用 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破坏了 seaborn 热图;并且通常具有固定刻度的倒置轴。
这在当前的开发版本中已修复;你可能因此
- 恢复到 matplotlib 3.1.0
- 使用 matplotlib 3.1.2 或更高版本
- 手动设置热图限制 (
ax.set_ylim(bottom, top) # set the ylim to bottom, top
)
推荐阅读
- python - 在抛硬币模拟中搜索“p”值
- javascript - 从右到左的过渡
- jquery - Magento 2表单验证resetForm不起作用
- ios - 从声称 SDK 12.0 小于 SDK 11 的 xcode 提交 iOS 应用程序的问题
- sql - 示例中关于 Ignite RDD 查询的具体问题
- javascript - JavaScript 函数不覆盖变量
- javascript - 无法检索 Express JS 中的表单标签发布的文本数据
- ruby-on-rails - Ruby .map 哈希值到数组中的键值对
- sql - 混合使用日期时间和时间戳来清理字符串列
- c - lu 和 int 之间的算术似乎不正确