Exemple #1
0
    def show_charts(self):
        # controllo se ho i dati aggiornati. Se sono aggiornati bene, altrimenti scarica i nuovi
        self.data = get_norm_data()
        tipo = self.show_widgets()[0]
        giorno = len(
            os.listdir(
                os.path.join(raw_cases_paths_dict["italy"],
                             "dati-andamento-nazionale")))

        if giorno not in self.chart_dict:
            self.chart_dict = {}
            self.chart_dict[giorno] = {}

        if tipo not in self.chart_dict[giorno]:
            self.chart_dict[giorno][tipo] = []
            for i in range(len(graph_types)):
                self.chart_dict[giorno][tipo].append(
                    ChartStandard(self.data,
                                  graph_types[i],
                                  title=graph_titles[i] + " in " + self.stato,
                                  subtitle=graph_subtitles[i],
                                  regione="italia",
                                  tipo=tipo))
            for i in range(len(graph_types)):
                self.chart_dict[giorno][tipo][i].show()
        else:
            for i in range(len(graph_types)):
                self.chart_dict[giorno][tipo][i].show()
Exemple #2
0
 def __init__(self):
     self._data_ = get_norm_data()
     self.scelte = [
         "Confronto tra regioni", "Intervallo temporale", "Mappe",
         "Confronto interattivo", "Totale cumulato", "Confronto lineplot",
         "Confronto istogrammi", "Confronto pie chart", "Plotlymap"
     ]
Exemple #3
0
 def __init__(self,
              title,
              name,
              chart_list=None,
              subtitle=None,
              widget_list=None):
     super().__init__(title, name, chart_list, subtitle, widget_list)
     self.data = get_norm_data()
Exemple #4
0
 def __init__(self,
              title,
              name,
              chart_list=None,
              subtitle=None,
              widget_list=None,
              stato="Italia"):
     super().__init__(title, name, chart_list, subtitle, widget_list)
     self.chart_dict = {}
     self.data = get_norm_data()
     self.stato = stato
Exemple #5
0
    def show_charts(self):
        # controllo se ho i dati aggiornati. Se sono aggiornati bene, altrimenti scarica i nuovi
        self.data = get_norm_data()
        #massimi e confronti
        name = "Andamento temporale e massimi"
        subtitle = "In questo grafico interattivo puoi selezionare il periodo (direttamente sul grafico), le regioni e il parametro (dai widget)."
        arg = [[
            "multiselect", "Seleziona la regione",
            transform_regions_pc_to_human_all()
        ],
               [
                   "selectbox", "Quale parametro vuoi confrontare?",
                   determina_scelte(self.data.norm_regions_df_ita)
               ]]
        wl = [partial(st_functional_columns, arg)]
        ChartInterattivo(name, name, subtitle, self.data,
                         widget_list=wl).show()

        #mappa
        name = "Mappa parametrizzata"
        subtitle = "In questo grafico puoi selezionare il giorno e il parametro e vedere l'andamento regione per regione sulla mappa."
        min = datetime.datetime.fromisoformat(
            str(self.data.norm_regions_df_ita.data.min()))
        max = datetime.datetime.fromisoformat(
            str(self.data.norm_regions_df_ita.data.max()))
        arg = [["date_input", "seleziona il giorno", max, min, max],
               [
                   "selectbox", "Quale parametro vuoi valutare?",
                   determina_scelte(self.data.norm_regions_df_ita)
               ]]
        wl = [partial(st_functional_columns, arg)]
        ChartMapPlotly(name, name, subtitle, self.data, widget_list=wl).show()

        #piechart
        name = "Grafico a torta"
        subtitle = "In questo grafico è possibile visualizzare come si è suddiviso il numero di un certo parametro tra diverse regioni." \
                   " E' possibile selezionare una lista di regioni, il giorno, il parametro e la libreria grafica."

        scelte_ammissibili = list(
            filter(lambda t: "nuovi" not in t,
                   determina_scelte(self.data.norm_regions_df_ita)))

        arg = [["selectbox", "Scegli la libreria", ["Bokeh", "Pyplot"]],
               [
                   "selectbox", "Scegli il parametro da valutare",
                   scelte_ammissibili
               ], ["date_input", "Scegli il giorno", max, min, max],
               [
                   "multiselect", "Seleziona le regioni",
                   transform_regions_pc_to_human_all()
               ]]
        wl = [partial(st_functional_columns, arg, (0.15, 0.30, 0.20, 0.35))]
        ChartPie(name, name, subtitle, self.data, widget_list=wl).show()
Exemple #6
0
    def show_charts(self):
        self.data = get_norm_data()
        name = "Ultime notizie"
        DashboardReport(name, self.get_last_day(self.data), "italia").show()

        name = "Andamento zone di rischio"
        subtitle = "In questa carta di Gantt è possibile visualizzare l'andamento temporale delle zone di rischio in italia. Passando con" \
                   " il mouse sopra il grafico è possibile vedere la data a cui fan riferimento quei dati."
        dati = "https://raw.githubusercontent.com/imcatta/restrizioni_regionali_covid/main/dataset.csv"

        ChartAndamentoColori(name, name, subtitle, dati).show()

        name = "Zone di rischio in Italia"
        subtitle = "In questa mappa è possibile visualizzare le zone di rischio attualmente in vigore in Italia."
        dati = "https://raw.githubusercontent.com/imcatta/restrizioni_regionali_covid/main/dataset.csv"

        ChartColori(name, name, subtitle, dati).show()
Exemple #7
0
    def show_charts(self):

        #controllo se ho i dati aggiornati. Se sono aggiornati bene, altrimenti scarica i nuovi
        self.data = get_norm_data()

        regione, tipo = self.show_widgets()

        #report
        DashboardReport("Report", self.get_last_day(self.data, regione),
                        regione).show()

        #grafici classici
        giorno = len(
            os.listdir(
                os.path.join(raw_cases_paths_dict["italy"],
                             "dati-andamento-nazionale")))

        if giorno not in self.chart_dict:
            self.chart_dict = {}
            self.chart_dict[giorno] = {}

        if tipo in self.chart_dict[giorno] and regione in self.chart_dict[
                giorno][tipo]:
            for i in range(NUMERO_GRAFICI):
                self.chart_dict[giorno][tipo][regione][i].show()
        else:
            if tipo not in self.chart_dict[giorno]:
                self.chart_dict[giorno][tipo] = {}
            self.chart_dict[giorno][tipo][regione] = []

            for i in range(NUMERO_GRAFICI):
                articolo = "in"
                if regione in articoli_regioni_no_in:
                    articolo = articoli_regioni_no_in[regione]

                titolo = graph_titles[
                    i] + " " + articolo + " " + transform_regions_pc_to_human(
                        regione)
                self.chart_dict[giorno][tipo][regione].append(
                    (ChartStandard(self.data,
                                   graph_types[i],
                                   title=titolo,
                                   subtitle=graph_subtitles[i],
                                   regione=regione,
                                   tipo=tipo)))

            for i in range(NUMERO_GRAFICI):
                self.chart_dict[giorno][tipo][regione][i].show()

        #Grafico extra 1

        # creo il report per il periodo personalizzato
        titolo = "Periodo personalizzato"
        sub = "In questo grafico è possibile visualizzare l'andamento di un parametro a scelta della regione analizzata in un intervallo temporale a scelta."

        min = datetime.datetime.fromisoformat(
            str(self.data.norm_regions_df_ita.data.min()))
        max = datetime.datetime.fromisoformat(
            str(self.data.norm_regions_df_ita.data.max()))

        args = [["slider", "Di che periodo?", min, max, (min, max)], [],
                [
                    "selectbox", "Quale parametro?",
                    determina_scelte(self.data.norm_regions_df_ita)
                ]]
        wl = [partial(st_functional_columns, args, (0.6, 0.1, 0.3))]

        ChartSlider(name=titolo,
                    title=titolo,
                    subtitle=sub,
                    widget_list=wl,
                    dati=get_norm_data(),
                    regione=regione,
                    tipo=tipo).show()

        # creo il barchart
        titolo = "Andamento mensile "
        if regione not in articoli_regioni_no_in:
            titolo += "in"
        else:
            titolo += articoli_regioni_no_in[regione]
        titolo += " " + transform_regions_pc_to_human(regione)
        sub = "In questo grafico è possibile visualizzare l'andamento di un parametro a scelta della regione analizzata in un mese prefissato."

        mesi_disponibili = [(3, 2020), (4, 2020), (5, 2020), (6, 2020),
                            (7, 2020), (8, 2020), (9, 2020), (10, 2020),
                            (11, 2020), (12, 2020), (1, 2021), (2, 2021),
                            (3, 2021)]

        args = [[
            "selectbox", "A quale mese sei interessato?", mesi_disponibili
        ],
                [
                    "selectbox", "Quale parametro vuoi analizzare?",
                    determina_scelte(self.data.norm_regions_df_ita)
                ]]
        wl = [partial(st_functional_columns, args)]

        ChartBar(name=titolo,
                 title=titolo,
                 subtitle=sub,
                 widget_list=wl,
                 dati=get_norm_data(),
                 regione=regione,
                 tipo=tipo).show()
Exemple #8
0
    def __init__(self, title, name, chart_list=None, subtitle=""):
        super().__init__(title, name, chart_list=None, subtitle=subtitle)
        # la chart_list me la creo io man mano, cosi non devo memorizzare grafici inutili
        self.chart_dict = {}

        self.data = get_norm_data()