如何在 seaborn 热图中反转色阶

How to reverse colorscales in seaborn heatmap

对于不同的值,seaborn 默认情况下似乎以暖色调(橙色)显示大数字,以冷色调(蓝色)显示小数字。

如果我需要将颜色切换为相反的颜色,以蓝色显示大数字而橙色显示小数字,该怎么做?

我已经搜索过了,但没有找到方法。

sns.heatmap(flights, center=flights.loc["January", 1955])

您可以通过在名称后附加 _r 来反转所有 matplotlib 颜色图,即 plt.cm.coolwarmplt.cm.coolwarm_r

我相信 seaborn 默认使用 cubehelix 颜色图。

所以你会这样做:

from matplotlib import pyplot
import seaborn as sns

colormap = pyplot.cm.cubehelix_r
flights = sns.load_dataset('flights').pivot("month", "year", "passengers")
sns.heatmap(flights, cmap=colormap)

无需为热图构建单独的反向函数。

只需使用 cmap = 'magma_r'。默认设置是岩浆,因此我们只需附加 '_r' 即可。