การพล็อตหลาย layer
ฟังก์ชันที่มีประโยชน์อีกอย่างหนึ่งของ pandas คือการกรอง dataframe ซึ่งเป็นการเลือกเฉพาะแถวที่ตรงตามเงื่อนไขที่กำหนด (โดยสร้าง boolean mask)
ในแบบฝึกหัดนี้ เราจะเลือกเฉพาะร้านอาหารแอฟริกัน แล้วสร้าง plot แบบหลาย layer กล่าวคือ การนำ GeoDataFrame หลายชุดมาแสดงผลบน figure เดียวกัน หากต้องการเพิ่ม layer ให้ใช้ keyword ax ของเมธอด plot() ของ GeoDataFrame เพื่อส่งผ่าน matplotlib axes object
ข้อมูลร้านอาหารถูกโหลดเป็น GeoDataFrame ชื่อ restaurants แล้ว GeoPandas ถูก import ในชื่อ geopandas และ matplotlib.pyplot ในชื่อ plt
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การทำงานกับข้อมูลเชิงพื้นที่ใน Python
คำแนะนำการฝึกหัด
- เลือกแถวทั้งหมดที่
typeเป็น 'African restaurant' แล้วเก็บไว้ในตัวแปรชื่อafrican_restaurants - พล็อตร้านอาหารทั้งหมดโดยกำหนดสีเป็นสีเทาสม่ำเสมอ อย่าลืมส่ง matplotlib axes object ให้กับเมธอด
plot() - เพิ่ม layer ที่สองโดยแสดงเฉพาะร้านอาหารแอฟริกันด้วยสีแดง สำหรับสีที่ใช้บ่อย สามารถระบุเป็นชื่อภาษาอังกฤษได้เลย เช่น 'red' และ 'grey'
- ลบกรอบออกโดยใช้เมธอด
set_axis_off()บน matplotlib axes object
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Load the restaurants dataset
restaurants = geopandas.read_file("paris_restaurants.geosjon")
# Take a subset of the African restaurants
african_restaurants = ____
# Make a multi-layered plot
fig, ax = plt.subplots(figsize=(10, 10))
restaurants.____
african_restaurants.____
# Remove the box, ticks and labels
ax.____
plt.show()