def plot(df, norm, data_path, label): """Plot df """ cmap = plt.cm.ScalarMappable(norm=norm, cmap='magma_r') df['color'] = df.value.apply(cmap.to_rgba) # basemap proj_lat_lon = ccrs.PlateCarree() ax = get_axes() plot_basemap(ax, data_path) scale_bar(ax, location=(0.8, 0.05)) plot_basemap_labels(ax, data_path, include_regions=False) # zones for zone in df.itertuples(): ax.add_geometries([zone.geometry], crs=proj_lat_lon, edgecolor='none', facecolor=zone.color, zorder=3) cmap.set_array(df.value) cbar = plt.colorbar(cmap, ax=ax, fraction=0.05, pad=0.04, drawedges=False, shrink=0.9, orientation='horizontal') cbar.outline.set_color("none") cbar.ax.set_xlabel(label)
def main(config): """Read shapes, plot map """ output_file = os.path.join(config['paths']['figures'], 'admin-map.png') ax = get_axes() plot_basemap(ax, config['paths']['data']) scale_bar(ax, location=(0.8, 0.05)) plot_basemap_labels(ax, config['paths']['data'], include_regions=True) save_fig(output_file)
def main(config): """Read shapes, plot map """ data_path = config['paths']['data'] # data output_file = os.path.join(config['paths']['figures'], 'network-water-map.png') water_edge_file = os.path.join(data_path, 'network', 'port_edges.shp') water_node_file = os.path.join(data_path, 'network', 'port_nodes.shp') # basemap proj_lat_lon = ccrs.PlateCarree() ax = get_axes() plot_basemap(ax, data_path) scale_bar(ax, location=(0.8, 0.05)) plot_basemap_labels(ax, data_path, include_regions=True) colors = { 'Waterway': '#045a8d', 'Port': '#54278f' } # edges edges = geopandas.read_file(water_edge_file) ax.add_geometries( list(edges.geometry.buffer(0.02)), crs=proj_lat_lon, edgecolor='none', facecolor=colors['Waterway'], zorder=4 ) # nodes nodes = geopandas.read_file(water_node_file) nodes = nodes[nodes['name']!='none'] ax.scatter( list(nodes.geometry.x), list(nodes.geometry.y), transform=proj_lat_lon, facecolor=colors['Port'], s=4, zorder=5 ) # legend legend_handles = [ mpatches.Patch(color=color, label=label) for label, color in colors.items() ] plt.legend(handles=legend_handles, loc='lower left') # save save_fig(output_file)
def main(config): """Read shapes, plot map """ data_path = config['paths']['data'] # data output_file = os.path.join(config['paths']['figures'], 'network-air-map.png') air_edge_file = os.path.join(data_path, 'network', 'air_edges.shp') air_node_file = os.path.join(data_path, 'network', 'air_nodes.shp') # air_usage_file = os.path.join(data_path, 'usage', 'air_passenger.csv') # basemap proj_lat_lon = ccrs.PlateCarree() ax = get_axes() plot_basemap(ax, data_path) scale_bar(ax, location=(0.8, 0.05)) plot_basemap_labels(ax, data_path, include_regions=False) colors = {'Air route': '#252525', 'Airport': '#d95f0e'} # edges edges = geopandas.read_file(air_edge_file) ax.add_geometries(list(edges.geometry), crs=proj_lat_lon, linewidth=1.5, edgecolor=colors['Air route'], facecolor='none', zorder=4) # edges merged with usage # usage = pandas.read_csv(air_usage_file) # edges_with_usage = edges.merge(usage[['id', 'passengers_2016']], on='id') # nodes nodes = geopandas.read_file(air_node_file) ax.scatter(list(nodes.geometry.x), list(nodes.geometry.y), transform=proj_lat_lon, facecolor=colors['Airport'], s=12, zorder=5) # legend legend_handles = [ mpatches.Patch(color=color, label=label) for label, color in colors.items() ] plt.legend(handles=legend_handles, loc='lower left') # save save_fig(output_file)
def main(config): """Read shapes, plot map """ data_path = config['paths']['data'] # data output_file = os.path.join(config['paths']['figures'], 'network-road-map.png') road_edge_file_national = os.path.join(data_path, 'network', 'road_edges_national.shp') road_edge_file_provincial = os.path.join(data_path, 'network', 'road_edges_provincial.shp') # basemap proj_lat_lon = ccrs.PlateCarree() ax = get_axes() plot_basemap(ax, data_path) scale_bar(ax, location=(0.8, 0.05)) plot_basemap_labels(ax, data_path, include_regions=False) colors = {'National': '#ba0f03', 'Provincial': '#e0881f'} # edges edges_provincial = geopandas.read_file(road_edge_file_provincial) ax.add_geometries(list(edges_provincial.geometry), crs=proj_lat_lon, linewidth=1.25, edgecolor=colors['Provincial'], facecolor='none', zorder=4) edges_national = geopandas.read_file(road_edge_file_national) ax.add_geometries(list(edges_national.geometry), crs=proj_lat_lon, linewidth=1.25, edgecolor=colors['National'], facecolor='none', zorder=5) # legend legend_handles = [ mpatches.Patch(color=color, label=label) for label, color in colors.items() ] plt.legend(handles=legend_handles, loc='lower left') # save save_fig(output_file)
def main(config): """Read shapes, plot map """ data_path = config['paths']['data'] # data output_file = os.path.join(config['paths']['figures'], 'network-rail-map.png') rail_edge_file = os.path.join(data_path, 'network', 'rail_edges.shp') rail_node_file = os.path.join(data_path, 'network', 'rail_nodes.shp') # basemap proj_lat_lon = ccrs.PlateCarree() ax = get_axes() plot_basemap(ax, data_path) scale_bar(ax, location=(0.8, 0.05)) plot_basemap_labels(ax, data_path, include_regions=False) colors = {'Railway': '#006d2c', 'Station': '#003312'} # edges edges = geopandas.read_file(rail_edge_file) ax.add_geometries(list(edges.geometry), crs=proj_lat_lon, linewidth=1.25, edgecolor=colors['Railway'], facecolor='none', zorder=4) # nodes nodes = geopandas.read_file(rail_node_file) ax.scatter(list(nodes.geometry.x), list(nodes.geometry.y), transform=proj_lat_lon, facecolor=colors['Station'], s=4, zorder=5) # legend legend_handles = [ mpatches.Patch(color=color, label=label) for label, color in colors.items() ] plt.legend(handles=legend_handles, loc='lower left') # save save_fig(output_file)