From 107076ac3594fbcab16b00f32f3c069e9f09b3a9 Mon Sep 17 00:00:00 2001 From: ltcptgeneral <35508619+ltcptgeneral@users.noreply.github.com> Date: Wed, 5 Dec 2018 11:31:38 -0600 Subject: [PATCH] added visualizer.py, reorganized folders --- .../__pycache__/analysis.cpython-37.pyc | Bin 27049 -> 27059 bytes data analysis/analysis.py | 6 +- data analysis/analysis.pyc | Bin 31092 -> 0 bytes data analysis/data.csv | 100 ------------------ data analysis/data/data.csv | 100 ++++++++++++++++++ .../analysis.docs} | 0 data analysis/documentation/visualizer.docs | 0 data analysis/visualizer.py | 0 8 files changed, 103 insertions(+), 103 deletions(-) delete mode 100644 data analysis/analysis.pyc delete mode 100644 data analysis/data.csv create mode 100644 data analysis/data/data.csv rename data analysis/{analysis_docs.txt => documentation/analysis.docs} (100%) create mode 100644 data analysis/documentation/visualizer.docs create mode 100644 data analysis/visualizer.py diff --git a/data analysis/__pycache__/analysis.cpython-37.pyc b/data analysis/__pycache__/analysis.cpython-37.pyc index 38b31eb1e98b46787cdd224d3235d7eaa0a01526..53e1fed00bd3e1f63369799292331d4a42aa63ab 100644 GIT binary patch delta 48 wcmZ2^nQ`-FMqVdgUM>b8XyM|BN!-Xg(VLAoC9xz?fAf5AT{al|Y~USn08Eb#u>b%7 delta 38 rcmdmdnQ`T1MqVdgUM>b8Xk=uL3EIdz(VLND^Ac}eHXwC9@QyeD%(V*o diff --git a/data analysis/analysis.py b/data analysis/analysis.py index 399462a6..dc0c1014 100644 --- a/data analysis/analysis.py +++ b/data analysis/analysis.py @@ -859,11 +859,11 @@ def basic_analysis(filepath): #assumes that rows are the independent variable an def benchmark(x, y): start_g = time.time() - generate_data("data.csv", x, y, -10, 10) + generate_data("data/data.csv", x, y, -10, 10) end_g = time.time() start_a = time.time() - basic_analysis("data.csv") + basic_analysis("data/data.csv") end_a = time.time() return [(end_g - start_g), (end_a - start_a)] @@ -883,7 +883,7 @@ def generate_data(filename, x, y, low, high): def debug(): - data = load_csv('data.csv') + data = load_csv('data/data.csv') print("--------------------------------") diff --git a/data analysis/analysis.pyc b/data analysis/analysis.pyc deleted file mode 100644 index 07f9f3c50249f2ffde1e8dc3f5fb95789dcda7df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31092 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