Tùy chỉnh heatmap với bảng màu phân kỳ
Lược đồ màu mặc định mà heatmap() của Seaborn sử dụng không dành sự xử lý đặc biệt nào cho giá trị 0. Điều này ổn khi 0 không có ý nghĩa đặc biệt với biến bạn đang trực quan hóa, nhưng bạn sẽ cần tùy chỉnh bảng màu khi 0 có ý nghĩa đặc biệt, chẳng hạn khi nó đại diện cho giá trị trung tính.
Với trực quan hóa này, bạn muốn so sánh tất cả các thành phố với giá trị ô nhiễm trung bình của CO vào tháng 11 năm 2015 (được cung cấp trong DataFrame nov_2015_CO).
Để làm điều đó, hãy dùng một heat map để mã hóa số độ lệch chuẩn so với trung bình mà mức ô nhiễm CO của mỗi thành phố đạt được trong ngày. Bạn sẽ cần thay thế bảng màu mặc định bằng cách tạo bảng màu phân kỳ tùy chỉnh của riêng bạn, truyền nó vào heatmap và cho hàm biết đâu là giá trị trung tính của bạn.
Bài tập này là một phần của khóa học
Nâng cấp trực quan hóa dữ liệu của bạn với Python
Hướng dẫn bài tập
Truyền bảng màu phân kỳ vào biểu đồ của bạn.
- Lưu ý rằng hàm
sns.heatmap()trong Seaborn không có đối sốpalettemà yêu cầu dùng đối sốcmap._
- Lưu ý rằng hàm
Thêm giá trị trung tính vào heat map bằng cách chỉ định đối số
center.Đặt ranh giới trên và dưới của thanh màu thành
-4và4để làm cho chú giải đối xứng.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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()