You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.5 KiB
52 lines
1.5 KiB
import csv
|
|
import matplotlib.pyplot as plt
|
|
import datetime
|
|
import art
|
|
from termcolor import colored
|
|
|
|
art.tprint("CSV reader")
|
|
with open("data.csv","r") as csvfile:
|
|
print(colored("Otevírám data.csv","blue"))
|
|
reader = csv.reader(csvfile)
|
|
next(reader,None) #kvůli hlavičce
|
|
data_cas = []
|
|
data_vlhkost = []
|
|
data_teplota = []
|
|
data_vzdalenost = []
|
|
|
|
for row in reader:
|
|
datum_cas = row[0]
|
|
|
|
try:
|
|
datetime_object = datetime.datetime.strptime(datum_cas,"%Y-%m-%d %H:%M:%S")
|
|
|
|
except ValueError:
|
|
print(f"Chybný formát data a času: {datum_cas}")
|
|
|
|
data_cas.append(datetime_object)
|
|
data_vlhkost.append(float(row[1]))
|
|
data_teplota.append(float(row[2]))
|
|
data_vzdalenost.append(float(row[3]))
|
|
|
|
#print(data_teplota) #test jestli máme nějaké hodnoty
|
|
print(colored("Data úspěšně načteny","yellow"))
|
|
print(colored("Vytvářím grafy","green"))
|
|
plt.subplot(311) # 3 řádky, 1 sloupec, 1.graf
|
|
plt.plot(data_cas,data_vlhkost, label="vlhkost")
|
|
plt.legend()
|
|
plt.xticks(visible=False) #skrýt čas na X axis (necháme jen u vzdálenosti at víme čas)
|
|
plt.title("Vlhkost")
|
|
|
|
plt.subplot(312) # 3 řádky, 1 sloupec, 2.graf
|
|
plt.plot(data_cas,data_teplota, label="teplota")
|
|
plt.legend()
|
|
plt.xticks(visible=False)
|
|
plt.title("teplota")
|
|
|
|
plt.subplot(313) # 3 řádky, 1 sloupec, 3.graf
|
|
plt.plot(data_cas,data_vzdalenost, label="vzdalenost")
|
|
plt.legend()
|
|
plt.title("vzdalenost")
|
|
|
|
plt.show()
|
|
print(colored("Děkujeme za použití naší aplikace","red"))
|