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

Làm gọn phần nền

Khi khám phá các mẫu ở cấp bang về mặt hàng được bán tại các chợ nông sản, một vài bang khiến bạn chú ý. North Dakota và New Mexico thường xuyên nằm gần cuối bảng về tỷ lệ chợ nông sản bán một mặt hàng nhất định. Trong khi đó Vermont thì luôn nằm gần tốp đầu. Bạn muốn trình bày các mẫu tổng quát về doanh số mặt hàng theo bang, đồng thời làm nổi bật các bang mà bạn thấy thú vị.

Bạn tạo một biểu đồ scatter thể hiện các mặt hàng được bán theo tỷ lệ chợ trong bang có bán mặt hàng đó. Để làm nổi bật các bang thú vị, bạn vẽ một đường nối giữa từng điểm của bang đó. Để có một biểu đồ gọn và tối giản, bạn giảm phần nền xuống chỉ còn một tập lưới định hướng đơn giả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

Xem khóa học

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

  • Đặt nền của biểu đồ thành màu trắng kèm các đường lưới.
  • Mã hóa trục x và trục y của biểu đồ scatter và đường bằng 'good' (mặt hàng) được bán và 'prop selling' (tỷ lệ bán), tương ứng.
  • Xóa bỏ TẤT CẢ đường viền của biểu đồ. Hãy nhớ, theo mặc định, sns.despine() chỉ xóa các đường viền phía trên và bên phải (spines)!

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.

# Set background to white with grid
sns.set_style('____')

plt.scatter('____','____', marker = '_', alpha = 0.7, data = goods_by_state)

# Draw lines across goods for highlighted states
highlighted = goods_by_state.query("state in ['New Mexico','North Dakota','Vermont']")
sns.lineplot('____','____', 'state', data = highlighted, legend = False)

# Draw state name at end of lines
last_rows = highlighted.groupby('state', as_index = False).agg('first')
for _,row in last_rows.iterrows():
    plt.annotate(row['state'], (row['good'], row['prop selling']),
                 ha = 'right', xytext = (5,0), textcoords = 'offset pixels')

# Remove all borders
sns.____(____ = ____, ____ = ____)
plt.show()
Chỉnh sửa và Chạy Mã