seaborn.heatmap#

seaborn.heatmap(data, *, vmin=None, vmax=None, cmap=None, center=None, robust=False, annot=None, fmt='.2g', annot_kws=None, linewidths=0, linecolor='white', cbar=True, cbar_kws=None, cbar_ax=None, square=False, xticklabels='auto', yticklabels='auto', mask=None, ax=None, **kwargs)#

色分けされた行列として矩形データをプロットします。

これはAxesレベルの関数であり、ax引数に何も指定されていない場合は、現在アクティブなAxesにヒートマップを描画します。このAxesスペースの一部は、cbarがFalseの場合、または別のAxesがcbar_axに提供されている場合を除き、カラーマップをプロットするために使用されます。

パラメータ:
data矩形データセット

ndarrayに強制変換できる2Dデータセット。Pandas DataFrameが提供された場合、インデックス/列情報が列と行のラベルに使用されます。

vmin, vmaxfloat, optional

カラーマップを固定する値。そうでない場合は、データと他のキーワード引数から推測されます。

cmapmatplotlibカラーマップ名またはオブジェクト、または色のリスト, optional

データ値からカラースペースへのマッピング。提供されない場合、デフォルトはcenterが設定されているかどうかによって異なります。

centerfloat, optional

発散データをプロットするときにカラーマップを中央に配置する値。このパラメータを使用すると、指定されていない場合、デフォルトのcmapが変更されます。

robustbool, optional

Trueで、vminまたはvmaxがない場合、カラーマップ範囲は極値ではなくロバストな分位数で計算されます。

annotboolまたは矩形データセット, optional

Trueの場合、各セルのデータ値を書き込みます。dataと同じ形状の配列のような場合、データの代わりにこれを使用してヒートマップに注釈を付けます。DataFrameはインデックスではなく位置で一致することに注意してください。

fmtstr, optional

注釈を追加するときに使用する文字列書式設定コード。

annot_kwsキーと値のマッピングのdict, optional

matplotlib.axes.Axes.text()のキーワード引数(annotがTrueの場合)。

linewidthsfloat, optional

各セルを分割する線の幅。

linecolorcolor, optional

各セルを分割する線の色。

cbarbool, optional

カラーバーを描画するかどうか。

cbar_kwsキーと値のマッピングのdict, optional

matplotlib.figure.Figure.colorbar()のキーワード引数。

cbar_axmatplotlib Axes, optional

カラーバーを描画するAxes。そうでない場合は、メインAxesからスペースを取得します。

squarebool, optional

Trueの場合、各セルが正方形になるように、Axesのアスペクト比を「equal」に設定します。

xticklabels, yticklabels“auto”, bool, リストのようなもの, またはint, optional

Trueの場合、データフレームの列名をプロットします。Falseの場合、列名をプロットしません。リストのようなものの場合、これらの代替ラベルをxticklabelsとしてプロットします。整数の場合、列名を使用しますが、n番目ごとのラベルのみをプロットします。「auto」の場合、重ならないラベルを密にプロットしようとします。

maskbool配列またはDataFrame, optional

渡された場合、maskがTrueの場合、セルにデータは表示されません。欠損値のあるセルは自動的にマスクされます。

axmatplotlib Axes, optional

プロットを描画するAxes。そうでない場合は、現在アクティブなAxesを使用します。

kwargsその他のキーワード引数

他のすべてのキーワード引数は、matplotlib.axes.Axes.pcolormesh()に渡されます。

戻り値:
axmatplotlib Axes

ヒートマップを持つAxesオブジェクト。

参考

clustermap

階層クラスタリングを使用して行と列を配置し、行列をプロットします。

インデックスを行/列ラベルとしてプロットするためにDataFrameを渡します

glue = sns.load_dataset("glue").pivot(index="Model", columns="Task", values="Score")
sns.heatmap(glue)
../_images/heatmap_1_0.png

annotを使用して、セル値をテキストで表示します

sns.heatmap(glue, annot=True)
../_images/heatmap_3_0.png

書式設定文字列で注釈を制御します

sns.heatmap(glue, annot=True, fmt=".1f")
../_images/heatmap_5_0.png

注釈に別のデータフレームを使用します

sns.heatmap(glue, annot=glue.rank(axis="columns"))
../_images/heatmap_7_0.png

セル間に線を追加します

sns.heatmap(glue, annot=True, linewidth=.5)
../_images/heatmap_9_0.png

名前で別のカラーマップを選択します

sns.heatmap(glue, cmap="crest")
../_images/heatmap_11_0.png

またはカラーマップオブジェクトを渡します

sns.heatmap(glue, cmap=sns.cubehelix_palette(as_cmap=True))
../_images/heatmap_13_0.png

カラーマップのノルム(最小点と最大点に対応するデータ値)を設定します

sns.heatmap(glue, vmin=50, vmax=100)
../_images/heatmap_15_0.png

matplotlib.axes.Axes オブジェクトのメソッドを使用してプロットを調整します。

ax = sns.heatmap(glue, annot=True)
ax.set(xlabel="", ylabel="")
ax.xaxis.tick_top()
../_images/heatmap_17_0.png