111 lines
3.1 KiB
Python
111 lines
3.1 KiB
Python
import csv, sys
|
|
from lib2to3.pgen2.pgen import DFAState
|
|
import plotly.express as px
|
|
import plotly.io as pio
|
|
import plotly.graph_objects as go
|
|
|
|
filename = 'example_data/TachymeterTable_103.csv'
|
|
|
|
# einfaches Beispiel: CSV direkt ausgeben:
|
|
#with open(filename, newline='') as f:
|
|
# reader = csv.reader(f)
|
|
# try:
|
|
# for row in reader:
|
|
# print(row)
|
|
# except csv.Error as e:
|
|
# sys.exit('file {}, line {}: {}'.format(filename, reader.line_num, e))
|
|
|
|
class Tachies(object):
|
|
"""This class contains lists of values created from csv rows"""
|
|
def __init__(self):
|
|
self.index = []
|
|
self.Time = []
|
|
self.x = []
|
|
self.y = []
|
|
self.z = []
|
|
self.d = []
|
|
self.deltaT = []
|
|
self.SOG = []
|
|
self.RelTime = []
|
|
self.Beschleunigung = []
|
|
self.BeschleunigungDeltaTFix = []
|
|
self.ABSBeschleunigung = []
|
|
|
|
def appendRow(self, i, row, header):
|
|
aDict = dict(zip(header, row))
|
|
self.index.append(i)
|
|
self.Time.append(aDict["Time"])
|
|
self.x.append(aDict["x"])
|
|
self.y.append(aDict["y"])
|
|
self.z.append(aDict["z"])
|
|
self.d.append(aDict["d"])
|
|
self.deltaT.append(aDict["deltaT"])
|
|
self.SOG.append(float(aDict["SOG"]))
|
|
self.RelTime.append(aDict["RelTime"])
|
|
self.Beschleunigung.append(aDict["Beschleunigung"])
|
|
self.BeschleunigungDeltaTFix.append(aDict["BeschleunigungDeltaTFix"])
|
|
self.ABSBeschleunigung.append(aDict["ABSBeschleunigung"])
|
|
|
|
|
|
# Time,x,y,z,d,deltaT,SOG,RelTime,Beschleunigung,BeschleunigungDeltaTFix,ABSBeschleunigung
|
|
class Tachymeter(object):
|
|
|
|
def __init__(self, i, Time, x, y, z, d, deltaT, SOG, RelTime, Beschleunigung, BeschleunigungDeltaTFix, ABSBeschleunigung):
|
|
self.index = i
|
|
self.Time = Time
|
|
self.x = x
|
|
self.y = y
|
|
self.z = z
|
|
self.d = d
|
|
self.deltaT = deltaT
|
|
self.SOG = SOG
|
|
self.RelTime = RelTime
|
|
self.Beschleunigung = Beschleunigung
|
|
self.BeschleunigungDeltaTFix = BeschleunigungDeltaTFix
|
|
self.ABSBeschleunigung = ABSBeschleunigung
|
|
|
|
def __init__(self, row, header):
|
|
self.__dict__ = dict(zip(header, row))
|
|
self.index = row
|
|
|
|
|
|
data = list(csv.reader(open(filename, newline='')))
|
|
|
|
# Erzeugung einer Klasse Tachies und Hinzufügen aller Werte
|
|
|
|
t = Tachies()
|
|
i = 0
|
|
for d in data[1:]:
|
|
t.appendRow(i, d, data[0])
|
|
i+=1
|
|
|
|
# Erzeugung einer Liste von Klassen vom Typ Tachymeter
|
|
tachies = [Tachymeter(i, data[0]) for i in data[1:]]
|
|
|
|
# for tachy in tachies:
|
|
# print(tachy.x)
|
|
|
|
#fig = dict({
|
|
# "data": [{"type": "bar",
|
|
# "x": [1, 2, 3],
|
|
# "y": [1, 3, 2]}],
|
|
# "layout": {"title": {"text": "A Figure Specified By Python Dictionary"}}
|
|
#})
|
|
|
|
# pio.show(fig)
|
|
|
|
fig = px.line(x=t.index, y=t.SOG, title="SOG")
|
|
fig.show()
|
|
|
|
#df = dict( {
|
|
# "x" : [ 1, 2, 3, 4, 5],
|
|
# "y" : [0.4, 2.3, 2.4, 2.7, 1.3]
|
|
#})
|
|
|
|
|
|
#fig = go.Figure(go.Line(x = t.index, y = t.SOG, name='SOG'))
|
|
#fig.update_layout(title='Apple Share Prices over time (2014)',
|
|
# plot_bgcolor='rgb(230, 230,230)',
|
|
# showlegend=True)
|
|
|
|
#fig.show() |