Remix một biểu đồ
Bạn thấy mối quan hệ giữa vĩ độ của chợ nông sản và số tháng chợ mở cửa thật thú vị. Về trực giác, càng về phía Nam thì mùa vụ càng dài, nên các chợ có thể mở lâu hơn. Để trực quan hóa câu chuyện này, bạn tóm tắt dữ liệu chợ theo cấp bang và vẽ một heatmap với các cột tương ứng với khoảng thời gian chợ mở. Mỗi hàng trong heatmap cho thấy phân phối "mùa" của chợ cho một bang và các hàng được sắp xếp theo thứ tự giảm dần của vĩ độ bang.

Heatmap mặc định còn nhiều điểm cần cải thiện. Hãy giảm kích thước phông chữ để tên từng bang vừa vặn, không bị chồng lấp. Bảng màu tối cũng xung đột với nền sáng, và thanh màu (colorbar) không hữu ích vì mục tiêu là so sánh tương đối.
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
- Giảm kích thước phông chữ xuống 85% mặc định để tránh chật chội tên các bang.
- Tạo bảng màu mới chuyển từ
'white'đến'steelblue'. - Thay bảng màu mặc định bằng bảng màu vừa tạo.
- Gỡ bỏ chú giải thanh màu liên tục (color bar) vẽ cạnh heatmap.
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.
# 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()