示例#1
0
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)
示例#3
0
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)
示例#5
0
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)