Seabornのポイントプロットにデータラベルを表示する方法【Python】
Seabornのpointplot()で描画したグラフにデータラベルを追加するには、軸オブジェクトからパッチ情報を取得し、Matplotlibのannotate()メソッドでラベルを注釈として配置します。以下に具体的な手順とサンプルコードを紹介します。
実装手順
図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
2次元のサイズ可変な表形式データを持つDataFrame(df)を作成します。
sns.pointplot()を使ってポイントプロットを作成します。軸のパッチ(
ax.patches)とラベルを取得し、対応するラベルで注釈を付けます。図を表示するには
show()メソッドを使用します。
サンプルコード
from matplotlib import pyplot as plt
import pandas as pd
import seaborn as sns
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
df = pd.DataFrame({'a': [1, 3, 1, 2, 3, 1]})
ax = sns.pointplot(df["a"],
order=df["a"].value_counts().index)
for p, label in zip(ax.patches, df["a"].value_counts().index):
ax.annotate(label, (p.get_x() + 0.375, p.get_height() + 0.15))
plt.show()
出力結果
上記のコードを実行すると、各ポイントの上にデータラベルが表示された次のようなグラフが出力されます。

補足:新しいバージョンのSeabornでの注意点
Seaborn 0.12以降では、Seriesを直接渡す書き方は非推奨(FutureWarningの対象)となっています。代わりにsns.pointplot(data=df, x="a", order=df["a"].value_counts().index)のように、data引数とx引数を組み合わせる書き方が推奨されます。基本的な流れやラベル付けの考え方は同じです。
-
Seabornのヒートマップでカスタムグリッド線を作成する方法
Seabornのヒートマップにカスタムグリッド線(区切り線)を作成するには、heatmap()メソッドのlinewidths引数とlinecolor引数を使用します。これらを指定することで、セル同士の境界線の太さや色を自由に設定できます。実装の手順図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。5列を持つPandasのデータフレームを作成します。heatmap()メソッドを使って、矩形データを色分けされたマトリクスとしてプロットします。この際、linewidthsでグリッド線の太さを、linecolorでグリッド線の色を指定します。図を表示するには、show()メ
-
SeabornでX軸の目盛り(x-ticks)の表示密度を減らす方法
SeabornでX軸の目盛り(x-ticks)の表示密度を減らしたい場合、奇数番目の位置にあるラベルに対して set_visible(False) を設定する方法が有効です。この記事では、具体的な手順とサンプルコードをわかりやすく解説します。 手順 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。 X軸とY軸のキーを持つデータフレームを作成します。 barplot() メソッドを使用して、棒グラフで点推定値と信頼区間を表示します。 bar_plot.get_xticklabels() メソッドを反復処理し、index が偶数の場合はラベルを表示、奇数の場合は非表