Я пытался построить матрицу корреляции с использованием Seaborn, но я хотел выделить как положительные, так и отрицательные экстремальные значения красным и средние значения зеленым.Во всех примерах, которые я смог найти, матрица корреляции была построена с помощью diverging_palette, но это позволяет выбрать только два цвета для концов спектра и выбрать либо светлый (белый), либо темный (черный) цвет для середины.ценности.Я не смог найти решение для этого после поиска в StackOverflow и других сайтах, поэтому я публикую решение, которое я нашел.
Вот примеры из Seaborn:
https://seaborn.pydata.org/examples/many_pairwise_correlations.html https://seaborn.pydata.org/generated/seaborn.heatmap.html
А вот код для генерации графика ниже для иллюстрации проблемы.То, что я ищу, это чтобы зеленый был значением 0, а красный - положительным и отрицательным значениями.
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
np.random.seed(5)
df = pd.DataFrame(np.random.randn(5,5))
# Generate a custom diverging colormap
cmap = sns.diverging_palette(133, 10, as_cmap=True)
with sns.axes_style("white"):
ax = sns.heatmap(df, annot=True, fmt='.2f', cmap=cmap, vmin=-0.99, vmax=.99, center=0.00,
square=True, linewidths=.5, annot_kws={"size": 8}, cbar_kws={"shrink": .5})
plt.show()