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)
annot
を使用して、セル値をテキストで表示しますsns.heatmap(glue, annot=True)
書式設定文字列で注釈を制御します
sns.heatmap(glue, annot=True, fmt=".1f")
注釈に別のデータフレームを使用します
sns.heatmap(glue, annot=glue.rank(axis="columns"))
セル間に線を追加します
sns.heatmap(glue, annot=True, linewidth=.5)
名前で別のカラーマップを選択します
sns.heatmap(glue, cmap="crest")
またはカラーマップオブジェクトを渡します
sns.heatmap(glue, cmap=sns.cubehelix_palette(as_cmap=True))
カラーマップのノルム(最小点と最大点に対応するデータ値)を設定します
sns.heatmap(glue, vmin=50, vmax=100)
matplotlib.axes.Axes
オブジェクトのメソッドを使用してプロットを調整します。ax = sns.heatmap(glue, annot=True) ax.set(xlabel="", ylabel="") ax.xaxis.tick_top()