예제 #1
0
def make_map(df, df_fatalities):
    """
    Build figure with map of total number of cases

    Parameters
    ----------
    df: pandas DataFrame
        Tidt dataframe of confirmed cases
    df_fatalities: pandas DataFrame
        Tidy dataframe of fatalities
    """
    normalized_values = normalize_by_population(df)
    # Plot per Million individual
    normalized_values *= 1e6
    hovertemplate = (
        '<b>Country</b>:%{customdata[0]}<br>' +
        '<b>Confirmed cases per million</b>: %{customdata[1]:.1f}<br>' +
        '<b>Confirmed cases</b>: %{customdata[2]}<br>' +
        '<b>Fatalities</b>: %{customdata[3]}')
    fig = px.choropleth(
        df,
        locations='iso',
        color=np.log10(normalized_values),
        custom_data=[
            df['country_region'],
            normalized_values,
            df['value'],
            df_fatalities['value'],
        ],
        color_continuous_scale='Plasma_r',
        labels={'color': 'Confirmed<br>cases<br>per<br>Million'})
    fig.update_layout(title='Click on map to add/remove a country',
                      coloraxis_colorbar_tickprefix='1.e',
                      coloraxis_colorbar_len=0.6,
                      coloraxis_colorbar_title_font_size=LABEL_FONT_SIZE,
                      margin=dict(l=0.03, r=0, b=0),
                      height=FIRST_LINE_HEIGHT,
                      geo_projection_scale=1.26)
    fig.update_traces(hovertemplate=hovertemplate, )
    return fig
예제 #2
0
    iso0 = iso0.strip('"')
    iso.append(iso0)
df_recent['iso'] = iso

#########################################################################################
### Mapa mundial con número de contagios acumulados por país   ##########################
#########################################################################################

# ----------- Figures ---------------------
#fig1 = make_map(df_recent, df_tidy_fatalities)
#fig2 = make_timeplot(df, df_prediction, countries=['France', 'Italy', 'Spain'])
#fig_store = make_timeplot(df, df_prediction)

# Se normalizan los casos por 100k habitantes

normalized_values = normalize_by_population(df_recent)
df_recent['normalizado'] = (1.e5 * normalized_values).values
df_recent['normalizado'] = df_recent['normalizado'].round(decimals=2)
df_recent['log_normalizado'] = np.log10(df_recent['Contagios'])
fig_map = px.choropleth(
    df_recent,
    locations='iso',
    hover_name="Pais",
    color='log_normalizado',
    color_continuous_scale='Plasma_r',  #"reds",
    hover_data={
        'iso': False,
        'Pais': False,
        'Contagios': True,
        'normalizado': ':.2f',
        'log_normalizado': False,