Saya mencoba untuk memplot distribusi multi-warna dengan Seaborn, tetapi saya menemukan bahwa plot tersebut sulit untuk dilacak kembali ke centang yang mereka miliki. Saya telah mencoba menambahkan grid, tetapi grid hanya muncul pada dimensi distribusi, jadi memisahkan distribusi itu sendiri tetapi tidak membedakan distribusi satu sama lain. Apakah mungkin agar Seaborn menambahkan garis kisi di antara grup/warna biola yang berbeda? Sebagai ilustrasi, ambil salah satu plot dari dokumen. Saya telah menambahkan apa yang ingin saya lihat ke plot ini (saya telah membuat lebar pemisah ini cukup berat untuk tujuan ilustrasi, dalam solusi saya ingin mereka setebal garis kisi):

Plots with separators

0
gandreadis 23 Maret 2020, 12:17

1 menjawab

Jawaban Terbaik

Anda dapat menggunakan axvline matplotlib untuk menggambar garis vertikal pada posisi 0,5, 1,5, ...

import numpy as np
import seaborn as sns
sns.set(style="whitegrid")

tips = sns.load_dataset("tips")
ax = sns.violinplot(x="day", y="total_bill", hue="smoker",
                    data=tips, palette="muted")
for i in range(len(np.unique(tips['day'])) - 1):
    ax.axvline(i + 0.5, color='grey', lw=1)
plt.show()

result

Atau, Anda dapat mengatur centang kecil pada posisi ini dan mengaktifkan garis kisi kecil untuk sumbu x.

1
JohanC 23 Maret 2020, 09:51