【发布时间】:2021-12-05 11:53:48
【问题描述】:
我目前正在使用 seaborn.heatmap() 来显示我在 pandas.DataFrame 中组织的二进制数据。 DataFrame 的索引是离散的,对应不同的位置,而列是连续的,代表时间。如何使热图中的 x 轴在测量值之间具有正确的间距?
更准确地说,我希望 0 和 1'000 之间的差异比 0 和 1 之间的差异大 1'000 倍,以及 1 和 1.1 之间的差异的 10'000 倍。以下是我的数据组织方式的简要说明:
import seaborn as sns
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df=pd.DataFrame(np.random.randint(0,2,size=(5, 8)), columns=[1,1.1,2,3,4,1001,1002,1003], index=['A','B','C','D','E'])
sns.heatmap(df,cmap='binary', square=True)
生成的图像如下所示:https://i.stack.imgur.com/uxSrH.png
测量之间的数据(例如,测量值 500,它不是 DataFrame 的一部分应该是 0。我不介意放弃 square=True。
对于那些想知道的人,0/1 是 False/True 陈述,表明我是否在给定时间在这个位置的这个采样点进行了测量。
非常感谢
【问题讨论】:
-
我不确定我是否遵循。你有二进制数据,所以你不能制作“热图”。无论如何,如果您的数据只有 0 和 1,您将只有两种颜色。而且由于 x 轴也是离散的,因此您将无法获得所需的间距,而且我认为这不是您想要的。
-
感谢您的回复。它应该只类似于热图并显示我在哪里进行测量
标签: python pandas seaborn heatmap spacing