ปรับแต่ง 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()