Chú thích bằng mũi tên
Hãy tưởng tượng bạn là một người quy hoạch đô thị cho Long Beach, California. Long Beach nằm trên bờ Thái Bình Dương và có một màn bắn pháo hoa lớn vào đêm Giao thừa hằng năm. Bạn muốn xem liệu sự kiện này có ảnh hưởng xấu đến chất lượng không khí của thành phố hay không. Để làm điều này, bạn sẽ xem các mức CO và NO2 vào ngày đầu năm mới. Tuy nhiên, hóa ra ngày đầu năm mới không phải là một điểm ngoại lệ trong biểu đồ bên phải; nó nằm trong một vùng khá dày điểm.
Để giúp người xem chú ý đến điểm này, bạn sẽ dùng một chú thích kèm mũi tên trỏ vào giá trị của ngày đầu năm mới. Cách này vừa giải thích cho người xem đang nhìn gì, vừa đưa phần văn bản vào một vùng ít chồng chéo hơn trên biểu đồ.
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
- Lấy hàng từ
jan_pollutiontương ứng với ngày đầu năm mới 2012 tại thành phố Long Beach bằng phương thức.query()của pandas. - Đặt điểm cuối của mũi tên (
xy) bằng cách dùng các giá trị cộtCOvàNO2từ DataFramelb_newyears. - Dùng đối số
xytextđể đặt văn bản của mũi tên chú thích ở góc dưới bên trái màn hình tại x =2, y =15. 'shrink'mũi tên xuống0.03để nó không che khuất điểm cần quan tâm.
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.
# Query and filter to New Years in Long Beach
jan_pollution = pollution.query("(month == 1) & (year == 2012)")
lb_newyears = jan_pollution.query("(____ == ____) & (____ == '____')")
sns.scatterplot(x = 'CO', y = 'NO2',
data = jan_pollution)
# Point arrow to lb_newyears & place text in lower left
plt.annotate('Long Beach New Years',
xy = (____, ____),
xytext = (____, _____),
# Shrink the arrow to avoid occlusion
arrowprops = {'facecolor':'gray', 'width': 3, '____': ____},
backgroundcolor = 'white')
plt.show()