เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การใช้กราฟแทน 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() 
แก้ไขและรันโค้ด