Bắt đầu ngayBắt đầu miễn phí

Xử lý khi có quá nhiều danh mục

Đôi khi bạn bị hạn chế không gian hình vẽ nhưng cần hiển thị rất nhiều dữ liệu cùng lúc. Ở đây, bạn muốn hiển thị quỹ đạo cả năm của mọi chất ô nhiễm cho mọi thành phố trong bộ dữ liệu pollution. Mỗi quỹ đạo chất ô nhiễm sẽ được vẽ dưới dạng một đường với giá trị y tương ứng với số độ lệch chuẩn so với trung bình của năm. Điều này có nghĩa là bạn sẽ có rất nhiều đường trên biểu đồ cùng lúc — nhiều hơn mức bạn có thể phân biệt rõ ràng bằng màu sắc.

Để xử lý, bạn quyết định làm nổi bật một tập con nhỏ các tổ hợp thành phố–chất ô nhiễm (wanted_combos). Tập con này là quan trọng nhất với bạn, còn các quỹ đạo khác sẽ cung cấp bối cảnh hữu ích để so sánh. Để tập trung sự chú ý, bạn sẽ đặt tất cả các đường không được làm nổi bật về cùng một màu “other”.

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

Xem khóa học

Hướng dẫn bài tập

  • Sửa biểu thức list comprehension để tách ra các tổ hợp thành phố và chất ô nhiễm (wanted_combos) như mong muốn.
  • Yêu cầu biểu đồ đường tô màu các đường theo cột color_cats vừa tạo trong DataFrame của bạn.
  • Dùng tham số units để xác định cách nối các điểm dữ liệu thành từng đường, tức là lấy từ cột nào.
  • Tắt việc gộp (binning) các điểm bằng tham số estimator.

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.

# Choose the combos that get distinct colors
wanted_combos = ['Vandenberg Air Force Base NO2', 'Long Beach CO', 'Cincinnati SO2']

# Assign a new column to DataFrame for isolating the desired combos
city_pol_month['color_cats'] = [x if x in ____ else 'other' for x in city_pol_month['city_pol']]

# Plot lines with color driven by new column and lines driven by original categories
sns.lineplot(x = "month",
             y = "value",
             hue = '____',
             units = '____',
             estimator = ____,
             palette = 'Set2',
             data = city_pol_month)
plt.show()
Chỉnh sửa và Chạy Mã