Как я могу преобразовать цветовую палитру Seaborn в Cmap? - PullRequest
0 голосов
/ 04 мая 2018

Я хотел бы преобразовать непрерывную расходящуюся цветовую палитру "RdBu_r" (или, фактически, любую предварительно определенную цветовую палитру) в seaborn в цветовую карту matplotlib.

Это самое близкое, что я получил, но оно создает дискретную карту цветов, тогда как мне нужна непрерывная карта:

import seaborn as sns
from matplotlib.colors import ListedColormap

palette = sns.color_palette("RdBu_r", n=7) # could make n = 100 as a quick fix
cmap = ListedColormap(colors=palette)
cmap.set_bad(color='black', alpha=0.5)
sns.heatmap(cmap=cmap) 

В конечном итоге я пытаюсь создать тепловую карту морского происхождения с цветовой палитрой "RdBu_r", с нулевыми значениями, заполненными темными квадратами, поэтому я пытаюсь создать карту с set_bad (color = 'black'), вместо того, чтобы просто передать "RdBu_r" в аргумент cmap sns.heatmap.

Спасибо, ребята.

1 Ответ

0 голосов
/ 04 мая 2018

"RdBu_r" - цветовая карта matplotlib. Следовательно, кажется, нет оснований для преобразования его в список цветов в первую очередь. Вместо этого просто используйте как есть.

import matplotlib.pyplot as plt
import seaborn as sns

cmap = plt.get_cmap("RdBu_r")
cmap.set_bad(color='black', alpha=0.5)

sns.heatmap(data, cmap=cmap) 
...