57 lines
1.4 KiB
Python
Executable File
57 lines
1.4 KiB
Python
Executable File
#!/usr/bin/pypy3
|
|
import plotly.graph_objs as go
|
|
from decimal import *
|
|
from sys import argv
|
|
import csv
|
|
|
|
|
|
def main():
|
|
chart = go.Figure()
|
|
chart.add_trace(go.Scatter(x=[1,2,3], y=[1,2,3]))
|
|
chart.show()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
if len(argv) == 1:
|
|
main()
|
|
else:
|
|
f = open(argv[1], "rt")
|
|
#csv_reader = csv.reader(f)
|
|
data = {}
|
|
# for line in csv_reader:
|
|
headers = f.readline()
|
|
headers = headers.split(",")
|
|
headers[-1] = headers[-1][:-1]
|
|
for i in range(len(headers)):
|
|
headers[i] = headers[i].strip()
|
|
for header in headers:
|
|
data[header] = []
|
|
for line in f:
|
|
try:
|
|
line_data = line.split(",")
|
|
#line_data = line
|
|
#print(line_data)
|
|
for i in range(len(line_data)):
|
|
val = float(line_data[i])
|
|
if (i < len(headers)):
|
|
header = headers[i]
|
|
data[header].append(val)
|
|
else:
|
|
print("too much values!")
|
|
print("headers:", headers)
|
|
print("values:", line_data)
|
|
except ValueError:
|
|
pass
|
|
f.close()
|
|
# print(data)
|
|
chart = go.Figure()
|
|
keys = [k for k in data.keys()]
|
|
# print("data.keys:", keys)
|
|
X_name = keys[0]
|
|
print("data samples:",len(data[X_name]))
|
|
for key, val in data.items():
|
|
if key != X_name:
|
|
chart.add_trace(go.Scatter(x=data[X_name], y=val, name=key, mode="markers+lines"))
|
|
chart.show()
|
|
|