Datatron 7000

Our idea originated from school assignments using Jupyter notebook to plot data in different graphs with python/numpy/matplotlib. The code in these scenarios isn't too difficult, but sometimes it can be time-consuming to build multiple graphs and figure out which best represents the trend you are trying to demonstrate. This is why we built Datatron 7000. Our program assembles CSV data and then uses matplotlib to create appropriate graphs for it, choosing cleverly how to best represent the data's contents.

Some important functions our program does:

  • Effectively and on its own parses CSV files to present appropriate graphs

  • Removes labels from numerical data

  • Detects strings in the data and uses frequency counts to represent this data

  • Presents a easy-to-use interface for anyone with modest knowledge of a computer to use

Here's how our application works from start to finish:

  1. The user initiates python web server with IDLE or command line. From this point forward, ui is handled on a browser at localhost:8080

  2. The user inputs a file path to a csv file, and hits enter. The path is parsed and sent to the web server via query strings.

  3. Finally, the webpage continually requests from the server images of plots of the data. Once the server generates these, they are pushed to a temporary folder and the site updates, displaying the graph or graphs.

Some technologies we used:

  • Instaclick.js
  • Python
  • Numpy
  • Matplotlib
  • Anaconda
  • GitHub

Some things we learned:

  • Don't mess around with deprecated Python 2 stuff
  • Web servers, like werewolves, can be hard to kill sometimes
  • Matplotlib has a shared image output buffer, so you need to clear it each time you use it.
  • You have to open the file every time you use it in a Jupyter notebook.
  • Remember the pain of global variables
  • Logic should come first

Built With

Share this project: