Example #1
0
def update_global_graph(selected_dropdown_value):
    country = selected_dropdown_value
    df = make_data_global(country)
    return {
        'data': [
            # {'y': df['recovered'], 'x': df.index, 'type': 'bar', 'name': 'Recovered'},
            {
                'y': df['confirmed'],
                'x': df.index,
                'type': 'bar',
                'name': 'Confirmed'
            },
            {
                'y': df['deaths'],
                'x': df.index,
                'type': 'bar',
                'name': 'Deaths'
            },
        ],
        'layout': {
            'title':
            '{country} COVID-19 Cases, Last Updated {update}'.format(
                country=country,
                update=last_update(country).strftime("%B %d, %Y")),
            'barmode':
            'stack',
            #'margin':{'l': 40, 'b': 40, 't': 10, 'r': 10}
        }
    }
def update_confinement_graph(selected_dropdown_value):
    city = selected_dropdown_value
    country = 'Sweden'  # @TODO: for now we only focus on Sweden anyway
    df = make_data_global(country)
    return {
        'data': [
            {
                'y': df['confirmed'],
                'x': df.index,
                'type': 'bar',
                'name': 'Confirmed'
            },
            {
                'y': df['deaths'],
                'x': df.index,
                'type': 'bar',
                'name': 'Deaths'
            },
        ],
        'layout': {
            'title':
            '{country} COVID-19 Cases, Last Updated {update}'.format(
                country=country,
                update=last_update(country).strftime("%B %d, %Y")),
            'barmode':
            'stack',
            'height':
            350,
            'margin':
            dict(l=50, r=50, b=100, t=50, pad=4),
            'paper_bgcolor':
            "white",
        }
    }
def update_analysis_graph(selected_dropdown_value):
    city = selected_dropdown_value
    country = 'Sweden'  # @TODO: for now we only focus on Sweden anyway

    df_confinement = make_data_confinement(city)
    date_list_confinement = list(df_confinement.index)

    df_cases = make_data_global(country)
    df_cases = df_cases[df_cases.index.isin(date_list_confinement)]
    date_list_cases = list(df_cases.index)

    df_confinement = df_confinement[df_confinement.index.isin(date_list_cases)]

    correlation = compute_correlation(df_confinement['mean_nb_detected'],
                                      df_cases['confirmed'])

    return '''
    ### Spearman Correlation : {:.2f}
    This factor assesses how well the relationship between two variables can be described using a monotonic function.
    The closest it is from 1, the more data are correlated.
    [More info](https://en.wikipedia.org/wiki/Spearman%27s_rank_correlation_coefficient)
    '''.format(correlation)
def update_analysis_graph(selected_dropdown_value):
    city = selected_dropdown_value
    country = 'Sweden'  # @TODO: for now we only focus on Sweden anyway

    df_confinement = make_data_confinement(city)
    date_list_confinement = list(df_confinement.index)

    df_cases = make_data_global(country)
    df_cases = df_cases[df_cases.index.isin(date_list_confinement)]
    date_list_cases = list(df_cases.index)

    df_confinement = df_confinement[df_confinement.index.isin(date_list_cases)]

    correlation = compute_correlation(df_confinement['mean_nb_detected'],
                                      df_cases['confirmed'])

    return {
        'data': [{
            'x': df_cases['confirmed'],
            'y': df_confinement['mean_nb_detected'],
            'name': 'Confirmed cases vs Confinement Status',
            'text': date_list_cases,
            'mode': 'lines+markers',
            'opacity': 0.5,
            'marker': {
                'size': 15,
                'line': {
                    'width': 0.5,
                    'color': 'white'
                },
                'color': 'red'
            }
        }],
        'layout': {
            'title':
            '{country} COVID-19 Cases vs Confinement Status, last update :{update}'
            .format(country=country, update=date_list_cases[-1]),
            'xaxis': {
                'title': 'COVID-19 confirmed cases'
            },
            'yaxis': {
                'title': 'People detected outside'
            },
            'barmode':
            'stack',
            'height':
            350,
            'margin':
            dict(
                l=50,
                r=50,
                b=100,
                t=50,
                pad=4,
            ),
            'hovermode':
            'closest',
            'paper_bgcolor':
            "white",
        }
    }