web-dev-qa-db-ja.com

シーボーンヒートマップカラーバーの色を反転する方法

ヒートマップを使用して、混同マトリックスを視覚化します。私は標準色が好きですが、明るいオレンジ色で0を、濃い紫色で最高値を持ちたいです。

別の色のセット(明るい色から暗い色のバイオレット)でのみ設定できました。

colormap = sns.cubehelix_palette(as_cmap=True)
ax = sns.heatmap(cm_prob, annot=False, fmt=".3f", xticklabels=print_categories, yticklabels=print_categories, vmin=-0.05, cmap=colormap)

しかし、私はこれらの標準的なものを維持したいです。これは私のコードであり、私が得る画像です。

ax = sns.heatmap(cm_prob, annot=False, fmt=".3f", xticklabels=print_categories, yticklabels=print_categories, vmin=-0.05)

enter image description here

15
Fed

デフォルトのcmapはsns.cm.rocketです。逆にするには、cmapをsns.cm.rocket_rに設定します

コードの使用:

cmap = sns.cm.rocket_r

ax = sns.heatmap(cm_prob,
                 annot=False,
                 fmt=".3f",
                 xticklabels=print_categories,
                 yticklabels=print_categories,
                 vmin=-0.05,
                 cmap = cmap)
20
Ben

Benの答えを拡張するために、カラーマップではなくてもほとんどの場合、これを行うことができます。

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
X = np.random.random((4, 4))
sns.heatmap(X,cmap="Blues")
plt.show()
sns.heatmap(X,cmap="Blues_r")
plt.show()
sns.heatmap(X,cmap="YlGnBu")
plt.show()
sns.heatmap(X,cmap="YlGnBu_r")
plt.show()

enter image description here

7
benbo

カラーマップを反転させようとしましたか?

sns.cubehelix_palette(as_cmap=True, reverse=True)