首页 > 解决方案 > 是否可以更改 Seaborn 的集群图树状图中的线宽?

问题描述

这里问了基本相同的问题。但答案不再有效。

提供的答案(由用户@iayork)涉及以下代码:

import matplotlib
import seaborn as sns; sns.set()

flights = sns.load_dataset("flights")
flights = flights.pivot("month", "year", "passengers")
g = sns.clustermap(flights)
for l in g.ax_row_dendrogram.lines:
        l.set_linewidth(10)
for l in g.ax_col_dendrogram.lines:
        l.set_linewidth(10)

但正如用户@iayork 所指出的,这不再有效,g.ax_col_dendrogram.lines 现在返回一个空列表。

标签: pythonseaborn

解决方案


import seaborn as sns
import matplotlib.pyplot as plt

# load data and make clustermap
df = sns.load_dataset('iris')
g = sns.clustermap(df[['sepal_length', 'sepal_width']])

# in newer versions, linecollections, instead of individual lines are used, 
# so, loop through those
for a in g.ax_row_dendrogram.collections:
    a.set_linewidth(10)

for a in g.ax_col_dendrogram.collections:
    a.set_linewidth(10)

推荐阅读