Bonjour,
J'utilise matplotlib avec Python et je trace le graphe production = f(date)
. Seulement, j'ai beaucoup de points (production sur plusieurs années) et les labels se chevauchent sur l'axe des abscisses. Je souhaiterais n'en afficher que certains (que j'aimerais choisir). Pour l'instant le code a cette tête :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | def draw_production(self, cow): x = [] y = [] # Une lactation est une période allant du vêlage (mise à bas) au tarissement # (sorte de congé maternité) for lact_key in cow.get_lact_keys(): lact = cow[lact_key] date_pattern = '%Y-%m-%d' # Je voudrais afficher le label : lact[AbstractAnalysis.DATES_KEY][0] # i.e. la date du premier jour de la lactation for date in lact[AbstractAnalysis.DATES_KEY]: x.append(datetime.datetime.strptime(date, date_pattern).date()) y += lact[AbstractAnalysis.PRODS_KEY] # http://stackoverflow.com/a/9627970 plt.gca().xaxis.set_major_formatter(mdates.DateFormatter(date_pattern)) plt.gca().xaxis.set_major_locator(mdates.DayLocator()) plt.plot(x, y) plt.gcf().autofmt_xdate() plt.xlabel("Date") plt.ylabel("Production") # PyLaTeX with self.doc.create(Plt(position="htbp")) as plot: plot.add_plot(plt, width=r'1\textwidth') plot.add_caption("The whole production") |
Merci !
+0
-0