В качестве заголовка я пытаюсь получить кластерную карту (то есть тепловую карту с дендрограммой), где группы разделены на разные графики, но легенда часто похожа на эту здесь . Я играл с seaborn facetGrid + heatmap
g = sns.FacetGrid(mrg, col='Chromosome', margin_titles=True, col_wrap=4, height=2)
heats = g.map_dataframe(lambda data, color: sns.heatmap(data[['0', '12', '24', '48']],
linewidths=0,
cmap="vlag",
robust=True,
yticklabels=False
)
)
, который создает этот сюжет
, который до сих пор не имеет общей легенды (то есть того же цвета на разных участках это не одно и то же число) но это почти правильно. Затем я подумал, что я мог бы просто заменить там карту кластера, и все будет работать.
g = sns.FacetGrid(mrg, col='Chromosome', margin_titles=True, col_wrap=4, height=2)
heats = g.map_dataframe(lambda data, color: sns.clustermap(data[['0', '12', '24', '48']],
linewidths=0,
cmap="vlag",
robust=True,
yticklabels=False,
cluster_cols=False
)
)
Но это не работает вообще, оно строит только сетку без возникновения ошибки. Я понимаю, что могу просто выполнить l oop через чанки (т.е. первые 4 группы), затем через 2 4 группы и т. Д. И сконструировать его вручную, но мне было интересно, возможно ли вообще сделать это в seaborn / matplotlib.