【问题标题】:Plotting an Obscure Python Graph绘制一个晦涩的 Python 图
【发布时间】:2020-02-29 15:27:52
【问题描述】:
我一直在尝试解决一个有趣的问题,但很难找到合适的解决方案。我正在尝试绘制热图列,每列的行大小可能会有所不同。我目前拥有的数据结构由一个嵌套列表组成,其中每个列表包含其点的各种热值。我将在下面附上一张图片以说明这一点。
目前,我们主要尝试让 matplotlib 工作,但是我们无法产生任何我们想要的结果。如果您对我们下一步应该采取的步骤有任何想法,请告诉我。
谢谢
【问题讨论】:
标签:
python
python-3.x
matplotlib
graphing
【解决方案1】:
我认为基本策略是转换您的初始数组,以便您拥有一个缺失值编码为NaN 的矩形数组。然后你可以简单地使用imshow 来显示热图。
我用np.pad来填充缺失值
data = [[0,0,1],[1,0,5,6,0]]
N_cols = len(data)
N_lines = np.max([len(a) for a in data])
data2 = np.array([np.pad(np.array(a, dtype=float), (0,N_lines-len(a)), mode='constant', constant_values=np.nan) for a in data])
fig, ax = plt.subplots()
im = ax.imshow(data2.T, cmap='viridis')
plt.colorbar(im)