Я пытаюсь построить карту тепла , используя библиотеку seaborn.
Функция построения графика выглядит следующим образом:
def plot_confusion_matrix(data, labels, **kwargs):
"""Visualize confusion matrix as a heat map."""
col_map = kwargs.get('color_palette', sns.light_palette('navy', n_colors=5, as_cmap=False))
sns.heatmap(
vmin=0.0,
vmax=1.0,
data=data,
cmap=col_map,
xticklabels=labels,
yticklabels=labels,
linewidths=0.75,
)
Гистограмма data
, однако, выглядит следующим образом:
Теперь проблема, с которой я сталкиваюсь, заключается в том, что тепловая карта морского побережья (см. Ниже) равномерно разделяет цветовую шкалу, и, следовательно, большинство данных имеют одинаковый цвет (поскольку данные распределены неравномерно).
Мне не удалось выяснить, как установить какие-то интервалы или границы для уровней цвета.
Предположим, у меня есть следующий массив шестнадцатеричных значений цвета:
['#e5e5ff', '#acacdf', '#7272bf', '#39399f', '#000080']
Есть ли способ настроить цвет, например
[(threshold_0, hex_0), (threshold_1, hex_1), ..., (threshold_n, hex_n)]
, где threshold_i
- значение в диапазоне [0, 1)
Цени любую помощь.
PS: текущая тепловая карта для иллюстрации: