Code: Select all
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import random
import seaborn as sns
data = pd.DataFrame(np.random.randn(10, 3), columns=(list('ABC')))
data['group'] = pd.Series(random.choices(['group_1', 'group_2', 'group_3'], weights=[1,1,1], k=len(data)))
data
A B C group
0 0.366822 0.583965 1.629740 group_3
1 0.557286 0.450663 0.255852 group_3
2 -0.265515 -0.153028 0.670448 group_3
3 0.132278 -0.226668 1.365583 group_3
4 0.595304 -0.577290 0.395477 group_2
5 -0.805420 0.168376 0.748649 group_1
6 0.105664 -0.568047 -0.281488 group_2
7 -0.046202 0.173409 -0.250321 group_1
8 -0.132696 -0.877354 0.086954 group_3
9 -0.843666 0.655146 -1.629453 group_2
lut = {'group_1': 'red', 'group_2': 'blue', 'group_3': 'green'}
row_colors = data['group'].map(lut)
data.drop(['group'], axis=1, inplace=True)
fig = sns.heatmap(data)