Bản đồ ký hiệu tỷ lệ về số hộ gia đình có Internet
Để trực quan hóa một biến dạng số đếm thô, bạn có thể dùng bản đồ ký hiệu tỷ lệ để tạo các điểm đánh dấu (marker) có kích thước tỷ lệ với giá trị dữ liệu được ánh xạ. Trong bài này, bạn sẽ tìm trọng tâm (centroid) của mỗi bang, tạo một bản đồ nền (basemap) các bang, và đặt một hình tròn tại mỗi trọng tâm với kích cỡ theo số hộ gia đình có truy cập internet.
Diện tích của mỗi marker phải tỷ lệ với giá trị dữ liệu. Vì kích thước marker được cung cấp dưới dạng đường kính, bạn cần lấy căn bậc hai của giá trị cột. Kích thước marker có thể trông quá lớn hoặc quá nhỏ. Trong bài này, bạn sẽ chia kích thước marker cho 5 — đây là một lựa chọn thẩm mỹ.
geopandas đã được import với bí danh quen thuộc, và hàm sqrt đã được import từ numpy.
GeoDataFrame geo_state đã được nạp.
Bài tập này là một phần của khóa học
Phân tích dữ liệu Điều tra Dân số Hoa Kỳ bằng Python
Hướng dẫn bài tập
- Gọi thuộc tính
centroidtrêngeo_state_ptvà gán kết quả cho cộtgeometry - Tạo bản đồ nền các đường biên giới bang bằng cách gọi phương thức
plottrêngeo_state; đặtcolorlà"tan"vàedgecolorlà"black" - Tạo biến
ms(được truyền vào tham sốmarkersize) bằng căn bậc hai của giá trị cộtgeo_state_pt["internet"]chia cho5
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.
# Create point GeoDataFrame at centroid of states
geo_state_pt = geo_state.copy()
geo_state_pt["geometry"] = ____
# Set basemap and create variable for markersize
basemap = ____
ms = ____
# Plot proportional symbols on top of basemap
geo_state_pt.plot(ax = basemap, markersize = ms, color = "lightgray", edgecolor = "darkgray")
plt.show()