6.2.6
แผนที่ความหนาแน่น 2 มิติด้วย KDE
seaborn.kdeplot สามารถวาดความหนาแน่นของตัวแปรสองมิติเป็นเส้นชั้นความสูงหรือพื้นที่ระบายสี เหมาะเมื่อสแคตเตอร์มีจุดทับกันมาก
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| import seaborn as sns
import matplotlib.pyplot as plt
penguins = sns.load_dataset("penguins").dropna(subset=["bill_length_mm", "bill_depth_mm"])
fig, ax = plt.subplots(figsize=(5.5, 4.5))
sns.kdeplot(
data=penguins,
x="bill_length_mm",
y="bill_depth_mm",
hue="species",
fill=True,
thresh=0.05,
levels=6,
alpha=0.6,
ax=ax,
)
ax.set_xlabel("ความยาวจะงอยปาก (มม.)")
ax.set_ylabel("ความลึกจะงอยปาก (มม.)")
ax.set_title("แผนที่ KDE สองมิติแยกตามสายพันธุ์เพนกวิน")
ax.grid(alpha=0.2)
fig.tight_layout()
plt.show()
|

วิธีอ่าน
#
- บริเวณที่เส้นชั้นความสูงถี่หรือสีเข้มคือที่ที่ข้อมูลหนาแน่น
- ปรับ
thresh เพื่อตัดเส้นที่มีความหนาแน่นต่ำออก ลดความรกของกราฟ - ถ้าข้อมูลมีจำนวนมาก อาจต้องสุ่มบางส่วนหรือปรับ
bw_adjust เพื่อลดภาระการคำนวณ