seaborn heatmap y轴逆序

joh*_*als 35 python matplotlib heatmap seaborn

有一个在 这个 热图的seaborn热图文档中找到.

现在,y轴从底部的9开始,在顶部以0结束.有没有办法扭转这种局面,即从底部的0开始到顶部的9结束?

use*_*205 47

看起来像是ax.invert_yaxis()解决了它.

按照你得到这个数字的例子:

import numpy as np; np.random.seed(0)
import seaborn as sns; sns.set()
uniform_data = np.random.rand(10, 12)
ax = sns.heatmap(uniform_data)
ax.invert_yaxis()
Run Code Online (Sandbox Code Playgroud)

得到: 在此输入图像描述


ter*_*ill 8

我找到了一种更简单的方法来设置轴顺序,使用选项ylimxlim。在以下示例中,我绘制了 H,一个二维矩阵 (NX x NY),并更改了轴顺序:

import matplotlib.pyplot as plt
import seaborn as sns

NX=10
NY=20
H = np.random.rand(NY, NX)
sns.heatmap(H, xticklabels=True, yticklabels=True, annot = True)
plt.ylim(0,NY)
plt.xlim(0,NX)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

NX=10
NY=20
H = np.random.rand(NY, NX)
sns.heatmap(H, xticklabels=True, yticklabels=True, annot = True)
plt.ylim(NY,0)
plt.xlim(NX,0)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


rya*_*lon 5

如果jointplot()像我一样在热图上使用“十六进制” ,则可以执行以下操作:

import matplotlib.pyplot as plt
import numpy
import seaborn

x = numpy.arange(10)
y = x**2

g = seaborn.jointplot(x, y, kind='hex')
g.fig.axes[0].invert_yaxis()

plt.show()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明