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}_linkagenumpy.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)
../_images/clustermap_1_0.png

図のサイズとレイアウトを変更する

sns.clustermap(
    iris,
    figsize=(7, 5),
    row_cluster=False,
    dendrogram_ratio=(.1, .2),
    cbar_pos=(0, .2, .03, .4)
)
../_images/clustermap_3_0.png

観測を識別するための色付きラベルを追加する

lut = dict(zip(species.unique(), "rbg"))
row_colors = species.map(lut)
sns.clustermap(iris, row_colors=row_colors)
../_images/clustermap_5_0.png

異なるカラーマップを使用し、色の範囲の制限を調整する

sns.clustermap(iris, cmap="mako", vmin=0, vmax=10)
../_images/clustermap_7_0.png

異なるクラスタリングパラメーターを使用する

sns.clustermap(iris, metric="correlation", method="single")
../_images/clustermap_9_0.png

列内のデータを標準化する

sns.clustermap(iris, standard_scale=1)
../_images/clustermap_11_0.png

行内のデータを正規化する

sns.clustermap(iris, z_score=0, cmap="vlag", center=0)
../_images/clustermap_13_0.png