การซ้อนกราฟเพื่อหาแนวโน้ม
ในชุดข้อมูลตลาดเกษตรกร คุณสนใจจำนวนเดือนที่ตลาดเปิดทำการโดยเทียบกับตำแหน่งทางภูมิศาสตร์ โดยเฉพาะค่าลองจิจูด และอยากดูว่ามีภูมิภาคใดในประเทศที่มีพฤติกรรมแตกต่างจากภูมิภาคอื่นอย่างชัดเจนหรือไม่
เพื่อตอบคำถามนี้ ให้สร้างแผนที่พื้นฐานด้วย scatter plot แสดงค่าละติจูดและลองจิจูดของแต่ละตลาด โดยระบายสีตามจำนวนเดือนที่เปิดทำการ จากนั้นเจาะลึกความสัมพันธ์กับลองจิจูดโดยสร้าง regression plot ระหว่างค่าลองจิจูดกับจำนวนเดือนที่เปิดทำการ พร้อมเส้น fit แบบยืดหยุ่น เพื่อตรวจสอบว่ามีแนวโน้มใดปรากฏขึ้นหรือไม่ และแสดงกราฟทั้งสองพร้อมกันเพื่อให้เห็นภาพรวมของแนวโน้มได้ชัดเจนที่สุด
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การพัฒนาการแสดงผลข้อมูลใน Python
คำแนะนำการฝึกหัด
- ตั้งค่า
plt.subplots()ให้มีกราฟสองแผ่นเรียงกันในแนวตั้ง - กำหนดให้กราฟแรก (ด้านบน) เป็น scatter plot ของ
lonและlat - กำหนดให้กราฟที่สอง (ด้านล่าง) เป็น regression plot ของ
lonกับmonths_open
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Setup two stacked plots
_, (ax1, ax2) = plt.subplots(____, ____)
# Draw location scatter plot on first plot
sns.scatterplot("lon", "lat", 'months_open',
palette = sns.light_palette("orangered",n_colors = 12),
legend = False, data = markets,
ax = ____);
# Plot a regression plot on second plot
sns.regplot('lon', 'months_open',
scatter_kws = {'alpha': 0.2, 'color': 'gray', 'marker': '|'},
lowess = True,
marker = '|', data = markets,
ax = ____)
plt.show()