def affiche_cumul_tvol(self, *args): '''Recupere les valeurs necessaires pour l'affichage de la courbe de cumul de temps de vol puis appelle la fonction d'affichage''' if self.annee.get() == "Toutes": annee = 0 else: annee = int(self.annee.get()) if not annee: req = '''SELECT annee, mois, jour, duree FROM vols WHERE NOT type_vol = "Gonflage" ORDER BY annee, mois, jour''' self.cur.execute(req) else: req = '''SELECT annee, mois, jour, duree FROM vols WHERE annee = ? AND NOT type_vol = "Gonflage" ORDER BY annee, mois, jour ''' self.cur.execute(req, (annee,)) l_vols = self.cur.fetchall() if len(l_vols) < 2: self.canv.delete("all") return l_dates = [datetime.date(v[0], v[1], v[2]) for v in l_vols] min_date, max_date = (min(l_dates), max(l_dates)) l_jours = list_days_since_origin(l_dates, origin = min_date) # annotation de l'axe des abscissses : 1er de chaque mois # les annotations sont des chaines de caracteres stockees dans un dico # indexe par la position en x annot1_x, annot2_x = date_annotations(l_dates) l_tvol = [v[3] for v in l_vols] l_cumul_tvol = cumul(l_tvol) self.affiche_cumul(l_jours, l_cumul_tvol, labels1_x = annot1_x, labels2_x = annot2_x, xlegend = "Date", ylegend = "Temps de vol (min)")
def affiche_cumul_distance(self, *args): '''Recupere les valeurs necessaires pour l'affichage de la courbe de cumul de distance en cross puis appelle la fonction d'affichage''' if self.annee.get() == "Toutes": annee = 0 else: annee = int(self.annee.get()) if not annee: req = '''SELECT annee, mois, jour, distance_parcours FROM vols WHERE NOT distance_parcours = 0 ORDER BY annee, mois, jour''' self.cur.execute(req) else: req = '''SELECT annee, mois, jour, distance_parcours FROM vols WHERE annee = ? AND NOT distance_parcours = 0 ORDER BY annee, mois, jour ''' self.cur.execute(req, (annee,)) l_vols = self.cur.fetchall() if len(l_vols) < 2: self.canv.delete("all") return l_dates = [datetime.date(v[0], v[1], v[2]) for v in l_vols] l_jours = list_days_since_origin(l_dates) annot1_x, annot2_x = date_annotations(l_dates) l_dist = [v[3] for v in l_vols] l_cumul_dist = cumul(l_dist) self.affiche_cumul(l_jours, l_cumul_dist, labels1_x = annot1_x, labels2_x = annot2_x , xlegend = "Date", ylegend = "Distance (km)")
def affiche_cumul_nvols(self, *args): '''Recupere les valeurs necessaires pour l'affichage de la courbe de cumul de temps de vol puis appelle la fonction d'affichage''' if self.annee.get() == "Toutes": annee = 0 else: annee = int(self.annee.get()) if not annee: req = '''SELECT annee, mois, jour FROM vols WHERE NOT type_vol = "Gonflage" ORDER BY annee, mois, jour''' self.cur.execute(req) else: req = '''SELECT annee, mois, jour FROM vols WHERE annee = ? AND NOT type_vol = "Gonflage" ORDER BY annee, mois, jour ''' self.cur.execute(req, (annee,)) l_vols = self.cur.fetchall() if len(l_vols) < 2: self.canv.delete("all") return l_dates = [datetime.date(v[0], v[1], v[2]) for v in l_vols] l_jours = list_days_since_origin(l_dates) annot1_x, annot2_x = date_annotations(l_dates) l_cumul_nvols = cumul([1 for v in l_vols]) self.affiche_cumul(l_jours, l_cumul_nvols, labels1_x = annot1_x, labels2_x = annot2_x, xlegend = "Dates", ylegend = "Nombre de vols")