查看seaborn热图文档中的this热图。现在y轴从底部9开始,顶部以0结束。有没有办法扭转这一局面,即。以0开头,以9结尾?
jutyujz01#
ax.invert_yaxis()解决了这个问题。下面是您得到该图的示例:
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()
给出:
93ze6v8z2#
如果你像我一样使用'hex' jointplot()作为热图,那么你可以这样做:
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()
jmp7cifd3#
我找到了一个更简单的方法来设置轴的顺序,使用选项ylim和xlim。在以下示例中,我绘制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()
3条答案
按热度按时间jutyujz01#
ax.invert_yaxis()
解决了这个问题。下面是您得到该图的示例:
给出:
93ze6v8z2#
如果你像我一样使用'hex'
jointplot()
作为热图,那么你可以这样做:jmp7cifd3#
我找到了一个更简单的方法来设置轴的顺序,使用选项ylim和xlim。在以下示例中,我绘制H,一个2d矩阵(NX x NY),改变轴的顺序: