แผนที่สัญลักษณ์เชิงสัดส่วนของครัวเรือนที่มีอินเทอร์เน็ต
ในการแสดงตัวแปรที่เป็นจำนวนนับบนแผนที่ สามารถใช้แผนที่แบบ proportional symbol เพื่อสร้างมาร์กเกอร์ที่มีขนาดสัดส่วนกับค่าข้อมูลที่ต้องการแสดง ในแบบฝึกหัดนี้จะหา centroid ของแต่ละรัฐ สร้างแผนที่พื้นฐานของรัฐต่าง ๆ และวางวงกลมที่ centroid แต่ละจุด โดยกำหนดขนาดตามจำนวนครัวเรือนที่เข้าถึงอินเทอร์เน็ต
พื้นที่ ของมาร์กเกอร์แต่ละอันควรมีสัดส่วนกับค่าข้อมูล เนื่องจากขนาดมาร์กเกอร์กำหนดเป็นเส้นผ่านศูนย์กลาง จึงต้องหารากที่สองของค่าในคอลัมน์ก่อน ขนาดมาร์กเกอร์อาจดูใหญ่หรือเล็กเกินไป ในแบบฝึกหัดนี้จะหารขนาดมาร์กเกอร์ด้วย 5 ซึ่งเป็นการตัดสินใจด้านความสวยงาม
geopandas ถูก import ด้วย alias ปกติ และฟังก์ชัน sqrt ถูก import จาก numpy แล้ว
GeoDataFrame ชื่อ geo_state ถูกโหลดไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์ข้อมูลสำมะโนประชากรสหรัฐฯ ด้วย Python
คำแนะนำการฝึกหัด
- เรียก attribute
centroidบนgeo_state_ptแล้วกำหนดผลลัพธ์ให้กับคอลัมน์geometry - สร้างแผนที่พื้นฐานของขอบรัฐโดยเรียกเมธอด
plotบนgeo_stateกำหนดcolorเป็น"tan"และedgecolorเป็น"black" - สร้างตัวแปร
ms(เพื่อส่งให้พารามิเตอร์markersize) โดยกำหนดให้เท่ากับรากที่สองของค่าในคอลัมน์geo_state_pt["internet"]หารด้วย5
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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()