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()
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" ]
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()
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
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()
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()
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()
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()