#!/usr/bin/env python3 import matplotlib.pyplot as plt import matplotlib.dates as mdates import datetime import numpy as np import sys dataFile = 'light.txt' try : fr = open(dataFile) except : print('unable to read %s'%(dataFile)) sys.exit(-1) lights=[] dates=[] for line in fr : line = line.strip() if line =='' : continue if line[0] == '#': continue dataLine=line.split(';') try : lights.append(float(dataLine[3])) except : lights.append(float('nan')) # forme une chaîne avec date+heure dat=dataLine[0]+';'+dataLine[1] # crée un objet datetime selon le format de la date d=datetime.datetime.strptime(dat,"%Y/%m/%d;%H:%M:%S") #ajout à la liste de dates dates.append(d) fr.close() dates = np.array(dates) lights = np.array(lights) # format d'affichage days = mdates.DayLocator() minutes =mdates.MinuteLocator() hours = mdates.HourLocator() months = mdates.MonthLocator() yearsFmt = mdates.DateFormatter('%d-%m-%Y;%H:%M:%S') fig, ax = plt.subplots() plt.title('Exemple date :'+dataFile) ax.plot_date(dates, lights, 'b-') # format the ticks ax.xaxis.set_minor_locator(days) ax.xaxis.set_major_formatter(yearsFmt) ax.xaxis.set_major_locator(hours) #~ ax.xaxis.set_major_locator(minutes) ax.autoscale_view() ax.grid(True) fig.autofmt_xdate() plt.show()