seaborn.clustermap#
- seaborn.clustermap(data, *, pivot_kws=None, method='average', metric='euclidean', z_score=None, standard_scale=None, figsize=(10, 10), cbar_kws=None, row_cluster=True, col_cluster=True, row_linkage=None, col_linkage=None, row_colors=None, col_colors=None, mask=None, dendrogram_ratio=0.2, colors_ratio=0.03, cbar_pos=(0.02, 0.8, 0.05, 0.18), tree_kws=None, **kwargs)#
行列データセットを階層的にクラスタリングされたヒートマップとしてプロットします。
この関数はscipyが利用可能である必要があります。
- パラメータ:
- data2D配列のようなもの
クラスタリングのための矩形データ。NAを含めることはできません。
- pivot_kwsdict, optional
data
が整然としたデータフレームの場合、矩形データフレームを作成するためにpivotのキーワード引数を指定できます。- methodstr, optional
クラスタの計算に使用する連結法。詳細については、
scipy.cluster.hierarchy.linkage()
ドキュメントを参照してください。- metricstr, optional
データに使用する距離メトリック。オプションの詳細については、
scipy.spatial.distance.pdist()
ドキュメントを参照してください。行と列で異なるメトリック(またはメソッド)を使用するには、各連結行列を自分で構築し、{row,col}_linkage
として提供できます。- z_scoreint または None, optional
0(行)または1(列)。行または列のzスコアを計算するかどうか。Zスコアはz = (x - mean)/stdなので、各行(列)の値は行(列)の平均を減算し、次に行(列)の標準偏差で割ります。これにより、各行(列)が平均0、分散1になることが保証されます。
- standard_scaleint または None, optional
0(行)または1(列)。その次元を標準化するかどうか。つまり、各行または列について、最小値を減算し、各値をその最大値で割ります。
- figsize(幅, 高さ) のタプル, optional
図全体のサイズ。
- cbar_kwsdict, optional
heatmap()
のcbar_kws
に渡すキーワード引数。たとえば、カラーバーにラベルを追加する場合。- {row,col}_clusterbool, optional
True
の場合、{行、列}をクラスタリングします。- {row,col}_linkage
numpy.ndarray
, optional 行または列の事前計算された連結行列。特定の形式については、
scipy.cluster.hierarchy.linkage()
を参照してください。- {row,col}_colorsリストのようなオブジェクトまたはpandas DataFrame/Series, optional
行または列のラベル付けに使用する色のリスト。グループ内のサンプルが一緒にクラスタリングされているかどうかを評価するのに役立ちます。ラベルの複数のカラーレベルにネストされたリストまたはDataFrameを使用できます。
pandas.DataFrame
またはpandas.Series
として指定した場合、色のラベルはDataFramesの列名またはSeriesの名前から抽出されます。DataFrame/Seriesの色は、インデックスによってデータにも一致し、色が正しい順序で描画されるようにします。- maskbool配列またはDataFrame, optional
渡された場合、
mask
がTrueのセルにはデータが表示されません。欠損値を持つセルは自動的にマスクされます。計算には使用されず、視覚化のみに使用されます。- {dendrogram,colors}_ratiofloat、または float のペア, optional
図のサイズのうち、2つの周辺要素に割り当てる割合。ペアで指定した場合、(行, 列)の比率に対応します。
- cbar_pos(左, 下, 幅, 高さ) のタプル, オプション
図におけるカラーバー軸の位置。
None
に設定すると、カラーバーは無効になります。- tree_kws辞書型, オプション
デンドログラムツリーの線をプロットするために使用される
matplotlib.collections.LineCollection
のパラメーター。- kwargsその他のキーワード引数
その他のすべてのキーワード引数は
heatmap()
に渡されます。
- 戻り値:
ClusterGrid
ClusterGrid
インスタンス。
参考
heatmap
長方形のデータを色分けされた行列としてプロットします。
注釈
返されるオブジェクトには、デンドログラムをクリッピングせずに図オブジェクトを保存する場合に使用する必要がある
savefig
メソッドがあります。並べ替えられた行のインデックスにアクセスするには、
clustergrid.dendrogram_row.reordered_ind
を使用します。列のインデックスには、
clustergrid.dendrogram_col.reordered_ind
を使用します。例
行と列のクラスタリングを使用したヒートマップをプロットする
iris = sns.load_dataset("iris") species = iris.pop("species") sns.clustermap(iris)
図のサイズとレイアウトを変更する
sns.clustermap( iris, figsize=(7, 5), row_cluster=False, dendrogram_ratio=(.1, .2), cbar_pos=(0, .2, .03, .4) )
観測を識別するための色付きラベルを追加する
lut = dict(zip(species.unique(), "rbg")) row_colors = species.map(lut) sns.clustermap(iris, row_colors=row_colors)
異なるカラーマップを使用し、色の範囲の制限を調整する
sns.clustermap(iris, cmap="mako", vmin=0, vmax=10)
異なるクラスタリングパラメーターを使用する
sns.clustermap(iris, metric="correlation", method="single")
列内のデータを標準化する
sns.clustermap(iris, standard_scale=1)
行内のデータを正規化する
sns.clustermap(iris, z_score=0, cmap="vlag", center=0)