I dont have a working code - but a snipet of my code can be as follows. I'm trying to use geopandas with mathplotlib, and trying to plot a map with links and points.
shape_file = os.path.join(os.getcwd(), "Healthboard")
    healthboard = gp.read_file(os.path.join(shape_file, "healthboard.shp"))
    healthboard = healthboard.to_crs({'init': 'epsg:4326'}) # re-projection   
    geo_df1 = geo_df1[geo_df1['HealthBoardArea2019Code'] == string1]
    geo = geo_df[geo_df['Healthboard '] == string2]
    new_shape_file = os.path.join(os.getcwd(), "Council_Shapefile")
    council_to_healtboard = pd.read_csv("council_to_healthboard.csv")
    council_to_healthboard = council_to_healtboard.rename(columns = {'CA': 'Council_area_code'})
    council = gp.read_file(os.path.join(new_shape_file, "Council_shapefile.shp"))
    council = council.to_crs({'init': 'epsg:4326'})
    council = council.rename(columns = {'la_s_code':'Council_area_code'})
    df = council.merge(council_to_healthboard, on = 'Council_area_code', how ='inner')
    # Plotting stuff 
    fig, ax = plt.subplots(figsize=(15,15))
    geo_df1.plot(ax = ax, markersize=35, color = "blue", marker = "*", label = "Postcode Sector")
    geo.geometry.plot(ax = ax, color = "red", markersize=20, alpha = 0.8, label = 'SiteName')
    #healthboard[healthboard["HBName"]=="Lothian"].plot(ax = ax, alpha = 0.6)
    #healthboard[healthboard["HBName"]=="Lothian"].boundary.plot(ax = ax, color = "black", alpha = 0.6)
    df[df["HB"]=="S08000024"].boundary.plot(ax =ax, color = "black", alpha = 0.1)
    df[df["HB"]=="S08000024"].plot(ax =ax, cmap = "viridis", alpha = 0.1)
    links_gp.plot(ax =ax, alpha = 0.25, color='brown', linestyle = "-")

My links_gp.plot has 40 time periods, as a result I want to make one plot, and have a button to adjust the parameters of time. Or if not possible a series of 40 plots. I've tried numerous ways but keep failing on this. I would really appreciate if someone could guide me on this.
 
     
    