如何用两个大尺寸一维数组创建Python热力图(无需二维数组)
问题:基于大尺寸一维数组绘制带热力值的图形
我有两个包含80000+元素的一维数组,想要基于它们绘制类似ax.plot效果但带有热力值的图形。因为数组元素量极大,绝对不想创建二维数组。
Matplotlib的常规热力图方案需要二维数组,以当前数据量计算,生成二维数组可能耗时数小时甚至数天,所以直接排除。
我想知道有没有可以直接用两个一维数组绘制带热力/深度值图形的函数?
已尝试的方案及问题
Seaborn heatmap:尝试过
seaborn.heatmap,它要求DataFrame包含表示强度的"z"列,但我的z数组是一维的,只能在每行每列绘制一个单元格,完全不符合需求。
示例代码:import seaborn as sns import pandas as pd data={'x': [1,2,3,4], 'y': [54,5,6,7], 'z': [8,23,9,5]} heatmap = pd.DataFrame(data=data) sns.heatmap(heatmap, annot=True, fmt=".1f")该代码生成的效果是将x、y作为行列,z填充对应单元格,并非我需要的热力效果。
Matplotlib pcolormesh:尝试过
ax.pcolormesh,它同样需要第三个二维数组来表示深度/热力值,不符合我的需求。
示例代码:ax.pcolormesh([1,2,3],[4,5,6],[[3,4,2],[1,5,6],[4,3,2]]) # 需要用于表示深度的二维数组,这正是我要避免的
内容的提问来源于stack exchange,提问作者Wave
相关产品推荐
相关产品推荐

