首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >seaborn heatmap - 31,000方阵sns.heatmap芯片

seaborn heatmap - 31,000方阵sns.heatmap芯片
EN

Stack Overflow用户
提问于 2018-11-24 23:51:31
回答 2查看 952关注 0票数 2

问题

海洋热图在jupyter notebookpython脚本格式中消亡。

文献综述

seaborn failing,是我能找到的最接近于类似问题的问题,但这不是完全相同的问题。我的只是一个独立的海路不会打印热图的问题。

症状

代码语言:javascript
复制
import numpy as np; np.random.seed(0)
import seaborn as sns; sns.set()
import matplotlib.pyplot as plt

M=np.ones((32000,32000))

ax = sns.heatmap(M)
plt.show()

使用上面的代码,我在jupyter笔记本中收到一条kernel stopped running消息,在等待热图20分钟后在我的终端中收到一条[1]+ Killed: 9 python bible_ai_construction.py

总体目标

我的希望是能够在数据集中调查每个状态之间的关系。每个州都提供给我,以及与之相关的所有其他州的列表,下面是一个小示例:

代码语言:javascript
复制
d={'a':['b','c','e'],'b':['a','c'],'c':['a'],'d':['a','e','b'],'e':['a','c']}
#set the new dictionary to one_hot_encoding representation
d={'a':[0,1,1,0,1],'b':[1,0,1,0,0],'c':[1,0,0,0,0],'d':[1,1,0,0,1],'e':[1,0,1,0,0]}
#construct matrix
M=np.matrix(list(map(lambda x:x, d.values())))
#apply M to seaborn heatmap, i.e., M.shape->(32000,32000)
EN

回答 2

Stack Overflow用户

发布于 2018-11-25 00:22:52

尺寸为32000x32000的矩阵将有超过十亿个元素。在我的电脑上,这个numpy数组的内存增长到8 8Gb以上。

Seaborn/Matplotlib将无法绘制如此巨大的数组。

你应该在你的矩阵上执行一些聚合方法,装箱等。

简单地绘制这么大的数组是没有好处的,没有人能够从如此详细的图表中推断出任何信息。

票数 1
EN

Stack Overflow用户

发布于 2018-11-28 04:57:36

我认为您应该以某种形式的子采样/汇总形式预览大型数据,然后通过鼠标交互将详细视图与较大的图像连接起来。您可以使用https://github.com/AaronWatters/jp_doodle来实现这一点,实际上我实现了如下内容(使用小得多的数据)作为本笔记本中的最后一个示例:https://github.com/AaronWatters/jp_doodle/blob/master/notebooks/Simple%20Python%20Examples.ipynb

这是一个屏幕截图

左边的图像是全分辨率的图像,中间的图像是全分辨率图像的3x3细节,左边的样本是细节中间的颜色样本。这有点难看,但在完整的图像中有一个灰色的方块,显示了可以使用鼠标拖动的细节的位置。

在您的示例中,您将在左侧显示二次采样的图像,并流式传输来自Python内核的完整大小的细节区域切片。有关将数据从numpy数组流式传输到jp_doodle小部件的示例,请参阅https://github.com/AaronWatters/jp_doodle/blob/master/notebooks/misc/image%20streaming%20demo.ipynb

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53459832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档