IniziaInizia gratis

Rappresentare più layer

Un’altra funzionalità tipica di pandas è il filtraggio di un dataframe: ottenere un sottoinsieme delle righe in base a una condizione (che genera una maschera booleana).

In questo esercizio prenderemo il sottoinsieme di tutti i ristoranti africani e poi creeremo un grafico con più layer. In questo tipo di grafico combiniamo la visualizzazione di diversi GeoDataFrame in un’unica figura. Per aggiungere un layer, possiamo usare il parametro ax del metodo plot() di un GeoDataFrame per passargli un oggetto axes di matplotlib.

I dati dei ristoranti sono già caricati nel GeoDataFrame restaurants. GeoPandas è importato come geopandas e matplotlib.pyplot come plt.

Questo esercizio fa parte del corso

Lavorare con i dati geospaziali in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Seleziona il sottoinsieme di tutte le righe in cui type è 'African restaurant'. Chiama questo sottoinsieme african_restaurants.
  • Crea un grafico di tutti i ristoranti usando un colore grigio uniforme. Ricorda di passare un oggetto axes di matplotlib al metodo plot().
  • Aggiungi un secondo layer con soli i ristoranti africani in rosso. Per i colori più comuni, puoi usare i nomi in inglese come 'red' e 'grey'.
  • Rimuovi il riquadro usando il metodo set_axis_off() sull’oggetto axes di matplotlib.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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()
Modifica ed esegui il codice