matplotlib 海运热图y轴逆序

hivapdat  于 2023-06-23  发布在  其他
关注(0)|答案(3)|浏览(126)

查看seaborn热图文档中的this热图。
现在y轴从底部9开始,顶部以0结束。有没有办法扭转这一局面,即。以0开头,以9结尾?

jutyujz0

jutyujz01#

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()

给出:

93ze6v8z

93ze6v8z2#

如果你像我一样使用'hex' 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()

jmp7cifd

jmp7cifd3#

我找到了一个更简单的方法来设置轴的顺序,使用选项ylimxlim。在以下示例中,我绘制H,一个2d矩阵(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()

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()

相关问题