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

ปรับแต่ง heatmap ด้วย diverging palette

โดยค่าเริ่มต้น heatmap() ของ Seaborn จะไม่ได้ให้ความสำคัญพิเศษกับค่า 0 ซึ่งก็ใช้ได้ในกรณีที่ 0 ไม่มีความหมายพิเศษสำหรับตัวแปรที่กำลังแสดง แต่หากค่า 0 มีความหมายพิเศษ เช่น เป็นค่ากลาง ก็จำเป็นต้องปรับแต่ง palette เอง

ในการแสดงผลครั้งนี้ เราต้องการเปรียบเทียบระดับมลพิษ CO ของแต่ละเมืองกับค่าเฉลี่ยในเดือนพฤศจิกายน 2015 (ตามที่ระบุใน DataFrame nov_2015_CO)

ให้ใช้ heat map เพื่อแสดงจำนวน standard deviation ที่แต่ละเมืองห่างจากค่าเฉลี่ยมลพิษ CO ในแต่ละวัน โดยต้องแทนที่ palette เริ่มต้นด้วย diverging palette ที่สร้างขึ้นเอง แล้วส่งไปยัง heatmap พร้อมระบุค่ากลางให้กับฟังก์ชัน

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

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

ดูคอร์ส

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

  • ส่ง diverging palette ไปยังกราฟ

    • โปรดทราบว่าฟังก์ชัน sns.heatmap() ใน Seaborn ไม่มีอาร์กิวเมนต์ palette แต่ใช้อาร์กิวเมนต์ cmap แทน
  • กำหนดค่ากลางใน heat map โดยระบุอาร์กิวเมนต์ center

  • ตั้งค่าขอบบนและขอบล่างของ color bar เป็น -4 และ 4 เพื่อให้ legend สมมาตร

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

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

# Define a custom palette
color_palette = sns.diverging_palette(250, 0, as_cmap = True)

# Pass palette to plot and set axis ranges
sns.heatmap(nov_2015_CO,
            ____ = ____,
            ____ = ____,
            vmin = ____,
            vmax = ____)
plt.yticks(rotation = 0)
plt.show()
แก้ไขและรันโค้ด