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

ปรับแต่งกราฟใหม่

คุณพบว่าความสัมพันธ์ระหว่างละติจูดของตลาดเกษตรกรกับจำนวนเดือนที่ตลาดเปิดทำการนั้นน่าสนใจมาก โดยหลักการแล้ว ยิ่งอยู่ทางใต้มากเท่าไร ฤดูกาลเพาะปลูกก็ยิ่งยาวนานขึ้น ทำให้ตลาดสามารถเปิดได้นานกว่า เพื่อนำเสนอเรื่องราวนี้ จึงสรุปข้อมูลตลาดในระดับรัฐ แล้วสร้าง heatmap โดยให้แต่ละคอลัมน์แทนระยะเวลาที่ตลาดเปิดทำการ แต่ละแถวแสดงการกระจายของ "ฤดูกาล" ตลาดของแต่ละรัฐ และเรียงแถวตามค่าละติจูดของรัฐจากมากไปน้อย

heatmap

heatmap แบบค่าเริ่มต้นยังมีจุดที่ต้องปรับปรุงอีกมาก ลองลดขนาดตัวอักษรลงเพื่อให้ชื่อรัฐแต่ละรัฐแสดงผลได้โดยไม่ทับซ้อนกัน นอกจากนี้ โทนสีเข้มยังดูขัดกับพื้นหลังสีอ่อน และแถบสีแบบต่อเนื่องก็ไม่ได้ช่วยให้ผู้อ่านเข้าใจได้ง่ายขึ้น เนื่องจากจุดประสงค์หลักคือการเปรียบเทียบเชิงสัมพัทธ์

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การพัฒนาการแสดงผลข้อมูลใน Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ลดขนาดตัวอักษรลงเหลือ 85% ของค่าเริ่มต้น เพื่อให้ชื่อรัฐแสดงผลได้โดยไม่แออัด
  • สร้างชุดสีใหม่ที่ไล่จาก 'white' ไปยัง 'steelblue'
  • แทนที่ชุดสีเริ่มต้นด้วยชุดสีที่สร้างขึ้นใหม่
  • ลบแถบสีแบบต่อเนื่องที่แสดงอยู่ข้าง heatmap ออก

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Decrease font size so state names are less crowded
sns.set(____ = ____)

# Switch to an appropriate color palette
blue_pal = sns.light_palette("____", as_cmap = True)

# Order states by latitude
g = sns.heatmap(markets_by_month.reindex(state_by_lat), 
            # Add gaps between cells
            linewidths = 0.1, 
            # Set new palette and remove color bar 
            cmap = ____, cbar = ____,
            yticklabels = True)

# Rotate y-axis ticks 
g.set_yticklabels(g.get_yticklabels(), rotation = 0)
plt.title('Distribution of months open for farmers markets by latitude')
plt.show()
แก้ไขและรันโค้ด