Rysowanie wielu warstw
Kolejną typową funkcją biblioteki pandas jest filtrowanie ramki danych – czyli wybieranie podzbioru wierszy na podstawie warunku (który generuje maskę logiczną).
W tym ćwiczeniu wybierzesz podzbiór wszystkich afrykańskich restauracji, a następnie stworzysz wykres wielowarstwowy. Na takim wykresie łączymy wizualizację kilku obiektów GeoDataFrame na jednej figurze. Aby dodać kolejną warstwę, możemy użyć słowa kluczowego ax w metodzie plot() obiektu GeoDataFrame, przekazując do niej obiekt axes z biblioteki matplotlib.
Dane o restauracjach są już wczytane jako GeoDataFrame restaurants. GeoPandas jest zaimportowany jako geopandas, a matplotlib.pyplot jako plt.
To ćwiczenie jest częścią kursu
Praca z danymi geoprzestrzennymi w Pythonie
Instrukcje do ćwiczenia
- Wybierz podzbiór wszystkich wierszy, w których kolumna
typema wartość 'African restaurant'. Nazwij ten podzbiórafrican_restaurants. - Utwórz wykres wszystkich restauracji i użyj jednolitego szarego koloru. Pamiętaj, aby przekazać obiekt axes z matplotlib do metody
plot(). - Dodaj drugą warstwę zawierającą tylko afrykańskie restauracje, w kolorze czerwonym. Do typowych kolorów możesz używać angielskich nazw, takich jak 'red' i 'grey'.
- Usuń obramowanie, wywołując metodę
set_axis_off()na obiekcie axes z matplotlib.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()