Get Started

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 is a 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