In my map I have multiple layers. One being points and others being polygons. I want show proper legend (points to show points, polygons to show polygons), whatever way I try I cannot get it to wok. # Precipitation map precip_station_map = ( ggplot(precip_stations_clipped) + geom_map( mapping=aes(geometry='geometry'), color = 'red' ) + geom_map( data=upper_hudson_basin_10km_buffer, mapping=aes(geometry='geometry', color='"10km buffer"'), inherit_aes=False, fill=None ) + geom_map( data=upper_hudson_basin_30km_buffer, mapping=aes(geometry='geometry', color='"30km buffer"'), inherit_aes=False, fill=None ) + geom_map( data=upper_hudson_basin.to_crs(precip_stations_clipped.crs), mapping=aes(geometry='geometry', color='"Upper Hudson Basin"'), inherit_aes=False, fill=None ) + labs(title='Precipitation Map') + scale_color_manual( name='Buffer Distance:', values={ '10km buffer': 'royalblue', '30km buffer': 'orange', 'Upper Hudson Basin': 'black' } ) + theme_minimal() + theme( legend_title=element_text(size=10), legend_text=element_text(size=8), legend_position='bottom' ) ) precip_station_map.draw() I tried the following, but it is still not working. In the figure below, I want the precipitation station to appear in the legend as a dot, not a polygon. geom_merged = pd.concat( [ #precip_stations_clipped[['geometry']].assign(LAYER='Preciptation Station'), upper_hudson_basin.to_crs(precip_stations_clipped.crs)[['geometry']].assign(LAYER='Upper Hudson'), upper_hudson_basin_10km_buffer[['geometry']].assign(LAYER='10km buffer'), upper_hudson_basin_30km_buffer[['geometry']].assign(LAYER='30km buffer') ] ) precip_station_map2 = ( ggplot(geom_merged) + geom_map( mapping=aes(geometry='geometry', color = 'LAYER'), fill = None ) + geom_map( data = precip_stations_clipped[['geometry']].assign(LAYER='Preciptation Station'), mapping=aes(gemetry='geometry', color='LAYER') ) ) Continue reading...