Seaborn
seaborn: statistical data visualization — seaborn 0.13.2 documentation
散布図で各点にラベルをふる
意外に調べてもわからなかった。ここではTipsデータセットを使って各点にラベル(番号)をつける。
必要ライブラリのimport
いつものやつ。
import pandas as pd
import numpy as np
from matplotlib import pylab as plt
import japanize_matplotlib
import seaborn as sns
sns.set(font = "IPAexGothic")
plt.style.use("seaborn-whitegrid")
Tipsデータセットを読み込み。
tips = sns.load_dataset("tips")[:30]
#図が煩雑になるので最初の30データだけ読み込み
tips["ID"] = np.arange(len(tips))
tips.ID = tips.ID.astype(str)
#文字型に変換
def label_point(x,y,id,ax):
df_tmp=pd.concat({'x':x,'y':y,'id':id}, axis='columns')
for i, point in df_tmp.iterrows():
ax.text(point['x'], point['y'], point['id'],\
fontsize=10\
)
ax = sns.scatterplot(x = "total_bill", y = "tip", data = tips)
label_point(tips["total_bill"], tips["tip"], tips["ID"], ax)
ポイントはIDを文字型に変換すること。これを行わないと番号は”12.0″などという表示になってしまう。図がこちら。
関連記事
pythonでのグラフ、図の描写のまとめ-seabornでのグラフ作成方法を中心に-
seabornで細かい図の設定を調整する
関連リンク
以下の記事を参照。
seaborn散布図の各点にラベルを付ける - Qiita
初投稿の42歳おじさん。seabornに乗り換えたて。###困ったこと散布図を書いて、idと各点の対応がわからなくてイマイチだった。調べてみると、各点へのラベル付けもやり方があるらしいので、…
コメント