Affichage graphique date/heure PLX-DAQ
Louishirgair
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Nous sommes en projet de fin d'année, et nous devons réaliser un programme Arduino associé à un programme python. Notre système doit alors mesurer la température et le taux d'humidité en fonction du temps grâce au logiciel PLX-DAQ relié à excel. Seulement, lors de l'affichage sur python du graphique en fonction du temps. Le temps affichés aux abscisses est sous la forme standard (de 0.001 à 1 pour 24h) et pas sous la forme HH%MM%%SS. Nous voulions savoir comment convertir la forme standard en forme heure, minutes et secondes sur python, merci d'avances. Voici notre programme python :
import xlrd
import datetime
import time
import matplotlib.pyplot as plt
import numpy as np
document = xlrd.open_workbook("PLX-DAQ_R2.xlsm") # Ouverture du fichier
print("Nombre de feuilles: "+str(document.nsheets)) # Affichage
print("Noms des feuilles: "+str(document.sheet_names())) # Affichage
feuille_1 = document.sheet_by_index(0) # Méthode 1 : récupère nos valeurs par le numéros de la feuilles
feuille_1 = document.sheet_by_name("Simple Data") # Méthode 2 : récupère nos valeurs par le numéros de la feuilles
print("Format de la feuille 1:") # Affichage
print("Nom: "+str(feuille_1.name)) # Affichage
print("Nombre de lignes: "+str(feuille_1.nrows)) # Affichage
print("Nombre de colonnes: "+str(feuille_1.ncols)) # Affichage
cols = feuille_1.ncols # Stockage de colonne dans une variable
rows = feuille_1.nrows # Stockage de ligne dans une variable
X = [] # Création d'une liste
Y= [] # Création d'une liste
for r in range(1, rows): # Boucle pour remplir mes listes X,Y
X += [feuille_1.cell_value(rowx=r, colx=0)]
Y += [feuille_1.cell_value(rowx=r, colx=1)]
R=[e*24 for e in X]
#S= [e-int(e) for e in R ]
#SS=["{}".format(e) for e in S]
#print(SS)
print (R)
plt.plot(R, Y) # Création du graphe
plt.gcf().autofmt_xdate() # plus jolie
plt.show() # Affichage du graphe
X = [] # Création d'une liste
Y= [] # Création d'une liste
for r in range(1, rows): # Boucle pour remplir mes listes X,Y
X = datetime.datetime.now()
X += [feuille_1.cell_value(rowx=r, colx=0)]
# X = myDatetime.strftime('%H:%M:%S')
Y += [feuille_1.cell_value(rowx=r, colx=2)]
plt.plot(X, Y) # Création du graphe
plt.gcf().autofmt_xdate() # plus jolie
plt.show() # Affichage du graphe
Nous sommes en projet de fin d'année, et nous devons réaliser un programme Arduino associé à un programme python. Notre système doit alors mesurer la température et le taux d'humidité en fonction du temps grâce au logiciel PLX-DAQ relié à excel. Seulement, lors de l'affichage sur python du graphique en fonction du temps. Le temps affichés aux abscisses est sous la forme standard (de 0.001 à 1 pour 24h) et pas sous la forme HH%MM%%SS. Nous voulions savoir comment convertir la forme standard en forme heure, minutes et secondes sur python, merci d'avances. Voici notre programme python :
import xlrd
import datetime
import time
import matplotlib.pyplot as plt
import numpy as np
document = xlrd.open_workbook("PLX-DAQ_R2.xlsm") # Ouverture du fichier
print("Nombre de feuilles: "+str(document.nsheets)) # Affichage
print("Noms des feuilles: "+str(document.sheet_names())) # Affichage
feuille_1 = document.sheet_by_index(0) # Méthode 1 : récupère nos valeurs par le numéros de la feuilles
feuille_1 = document.sheet_by_name("Simple Data") # Méthode 2 : récupère nos valeurs par le numéros de la feuilles
print("Format de la feuille 1:") # Affichage
print("Nom: "+str(feuille_1.name)) # Affichage
print("Nombre de lignes: "+str(feuille_1.nrows)) # Affichage
print("Nombre de colonnes: "+str(feuille_1.ncols)) # Affichage
cols = feuille_1.ncols # Stockage de colonne dans une variable
rows = feuille_1.nrows # Stockage de ligne dans une variable
X = [] # Création d'une liste
Y= [] # Création d'une liste
for r in range(1, rows): # Boucle pour remplir mes listes X,Y
X += [feuille_1.cell_value(rowx=r, colx=0)]
Y += [feuille_1.cell_value(rowx=r, colx=1)]
R=[e*24 for e in X]
#S= [e-int(e) for e in R ]
#SS=["{}".format(e) for e in S]
#print(SS)
print (R)
plt.plot(R, Y) # Création du graphe
plt.gcf().autofmt_xdate() # plus jolie
plt.show() # Affichage du graphe
X = [] # Création d'une liste
Y= [] # Création d'une liste
for r in range(1, rows): # Boucle pour remplir mes listes X,Y
X = datetime.datetime.now()
X += [feuille_1.cell_value(rowx=r, colx=0)]
# X = myDatetime.strftime('%H:%M:%S')
Y += [feuille_1.cell_value(rowx=r, colx=2)]
plt.plot(X, Y) # Création du graphe
plt.gcf().autofmt_xdate() # plus jolie
plt.show() # Affichage du graphe
2 réponses
Bonjour,
Je n'y connais rien en PLX-DAQ et Arduino mais à la lecture de cet article, je comprends que l'horodatage des données récupérées est automatiquement fait et envoyé à Excel donc votre souci est plutôt de récupérer ces horodatages dans le fichier Excel.
Ritchi
Je n'y connais rien en PLX-DAQ et Arduino mais à la lecture de cet article, je comprends que l'horodatage des données récupérées est automatiquement fait et envoyé à Excel donc votre souci est plutôt de récupérer ces horodatages dans le fichier Excel.
Ritchi
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
ceci vous inspirare peut-être:
ceci vous inspirare peut-être:
import datetime tempsX = datetime.datetime.now() tempsX += datetime.timedelta(hours=2) X = tempsX.strftime('%H:%M:%S') print(X)