Dengan membuat grafik kumpulan data "tips" sebagai plot gabungan, saya ingin memberi label pada 10 outlier teratas (atau n outlier teratas) pada grafik berdasarkan indeksnya dari kerangka data "tips". Saya menghitung sisa (jarak satu titik dari garis rata-rata) untuk menemukan outlier. Harap abaikan manfaat metode deteksi outlier ini. Saya hanya ingin memberi anotasi pada grafik sesuai spesifikasi.
import seaborn as sns
sns.set(style="darkgrid", color_codes=True)
tips = sns.load_dataset("tips")
model = pd.ols(y=tips.tip, x=tips.total_bill)
tips['resid'] = model.resid
#indices to annotate
tips.sort_values(by=['resid'], ascending=[False]).head(5)
tips.sort_values(by=['resid'], ascending=[False]).tail(5)
%matplotlib inline
g = sns.jointplot("total_bill", "tip", data=tips, kind="reg",
xlim=(0, 60), ylim=(0, 12), color="r", size=7)
Bagaimana cara memberi anotasi pada 10 outlier teratas (5 sisa terbesar dan 5 sisa terkecil) pada grafik dengan nilai indeks setiap titik (sisa terbesar) untuk mendapatkan ini: