การใช้กราฟแทน legend
หนึ่งในประเด็นที่น่าสนใจในข้อมูลตลาดเกษตรกรคือความ "เป็นมิตรกับตลาด" ของแต่ละรัฐ โดยเฉพาะรัฐที่มีค่าผิดปกติ วิธีหนึ่งในการมองเรื่องนี้คือการใช้อัตราส่วนระหว่างจำนวนตลาดเกษตรกรต่อจำนวนประชากรในแต่ละรัฐ แม้จะดูอัตราส่วนโดยตรงได้ แต่การใช้เพียงอัตราส่วนจะทำให้สูญเสียข้อมูล ดิบ เกี่ยวกับจำนวนประชากรและจำนวนตลาดของรัฐนั้น รัฐขนาดใหญ่ที่มีอัตราส่วนสูงอาจน่าสนใจกว่ารัฐขนาดเล็ก
สามารถแสดงทั้งอัตราส่วนและตัวเลขจริงได้พร้อมกัน โดยวาดกราฟสองแบบคู่กัน ได้แก่ กราฟอัตราส่วน และกราฟ scatter ที่แสดงความสัมพันธ์ระหว่างจำนวนตลาดกับจำนวนประชากร เพื่อให้การแสดงผลที่ซับซ้อนนี้ดูง่ายขึ้น ให้ใช้ bar plot ทำหน้าที่เป็น legend โดยเชื่อมโยงรัฐที่น่าสนใจด้วยสีของแท่งและจุด scatter ที่ตรงกัน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การพัฒนาการแสดงผลข้อมูลใน Python
คำแนะนำการฝึกหัด
- ตั้งค่ากราฟสองแผงเคียงกันโดยใช้
plt.subplots() - แมปคอลัมน์
is_selectedกับสีของทั้ง bar plot และ scatter plot - ปิดการใช้งาน
dodgeบน bar plot เพื่อให้แท่งแสดงความสูงเต็มที่ - ลบ legend ออกจากทั้งสองกราฟ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Set up two side-by-side plots
f, (ax1, ax2) = plt.subplots(____, ____, figsize = (15, 15))
# Map the column for selected states to the bar color
sns.barplot('people_per_market', 'state', hue = '____',
# Disable dodge so bars are full size
dodge = ____,
data = markets_by_state, ax = ax1)
# Map selected states to point color
sns.scatterplot('log_pop', 'log_markets', hue = '____',
data = markets_by_state, ax = ax2, s = 100)
# Remove the legend for both plots
ax1.____()
ax2.____()
plt.show()