在绘制熊猫数据框时,matplotlib绘图未显示正确的轴值,seaborn显示了正确的轴值,但未在图形上显示x和y

时间:2018-12-15 15:28:03

标签: python-3.x pandas matplotlib seaborn

我有一个熊猫数据框8040行和7115列,列名从7774开始,以659结尾。

当我使用:p绘制数据时

sns.heatmap(df, cmap='rainbow')

它保留索引但不显示光标值(x = y =在屏幕上为空白)

Pandas dataframe plotted with seaborn heatmap

当我用:p绘制时

plt.imshow(df.values, cmap='rainbow', aspect='auto')

它显示x = y =值,但是将数据帧中的索引值重置为从零开始。

Pandas dataframe plotted with imshow

无论如何,我可以使用imshow绘制数据并保留绘制的数据框的索引和列名。

谢谢

可验证的示例:

df = pd.DataFrame.from_dict(shot_no)
df.index = np.arange(1, len(df) + 1)
df = df.astype(int)

extent_x=df.columns.values
extent_y=df.index.values

extent_x=extent_x.tolist()
extent_y=extent_y.tolist()

extent_left_x=extent_x[0]
extent_right_x=extent_x[-1]

extent_s=[extent_left_x+0.5,extent_right_x,1,8040]

fig, ax1 = plt.subplots(1,1)


ax1.imshow(df.values, cmap='rainbow', aspect='auto', extent=extent_s)

第二,是否有一种方法可以通过将鼠标悬停在热图上来获取x =和y =值。

或通过鼠标单击事件绑定热图。

这还将成为捕获鼠标坐标的唯一问题

0 个答案:

没有答案