Get startedGet started for free

Plotting multiple layers

Another typical pandas functionality is filtering a dataframe: taking a subset of the rows based on a condition (which generates a boolean mask).

In this exercise, we will take the subset of all African restaurants, and then make a multi-layered plot. In such a plot, we combine the visualization of several GeoDataFrames on a single figure. To add one layer, we can use the ax keyword of the plot() method of a GeoDataFrame to pass it a matplotlib axes object.

The restaurants data is already loaded as the restaurants GeoDataFrame. GeoPandas is imported as geopandas and matplotlib.pyplot as plt.

This exercise is part of the course

Working with Geospatial Data in Python

View Course

Exercise instructions

  • Select a subset of all rows where the type is 'African restaurant'. Call this subset african_restaurants.
  • Make a plot of all restaurants and use a uniform grey color. Remember to pass a matplotlib axes object to the plot() method.
  • Add a second layer of only the African restaurants in red. For the typical colors, you can use English names such as 'red' and 'grey'.
  • Remove the box using the set_axis_off() method on the matplotlib axes object.

Hands-on interactive exercise

Have a go at this exercise by completing this sample code.

# 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()
Edit and Run Code