/CmyPlot

CmyPlot - an easy way to visualize your raw data in tabular and graphical format!

Primary LanguagePythonMIT LicenseMIT

CmyPlot

Data Visualisation Web App

GitHub DOI example event parameter Github GitHub issues Github closes issues Github pull requests Github closed pull requests codecov Code style: black

Why Data Visualization?

With enormous data in hand you would always want to visualize it for good understanding and better clarity with minimal efforts.

As the famous saying goes - "The greatest value of visualization is when it forces us to notice what we never expected to see" - John W. Tukey

CmyPlot is a web app that provides interface for uploading a csv data file and convert it into Tables and interesting graphs with one click

  • Built with

  • Language used: Python

  • Libraries used: Flask, Plotly, Dash

  • Development/ Debug Server: Flask

  • Production Server: Waitress

  • Deployment Platform: Heroku

    Note: The application has been deployed on Heroku (free platform service). The app's usage is limited to monthly pool of free dyno hours. Also, free apps sleep automatically after 30 mins of inactivity to conserve your dyno hours.

Visual Walkthrough:

What's new?

Phase 1 vs phase 2

Docs

Documentation

Quick look:

Give it a try yourself: https://cmyplot.herokuapp.com/

(Heroku server may take long to respond first time, if no traffic within last 30 minutes).

1.This is the main Cmyplot web page

2.You have an option to upload your csv file by Drag and drop or click

3.Once the file is uploaded, you can choose to visualize using either table or graph

4.For table, you could use filters to sort the data as you want and select number of entries you want to display

5.Table representation of the data

6.Graph representation of the data. Here you get options to chose among multiple graph types and a sharable link to share or download the graph.

Getting started:

  • Prerequisite:

  • Installation:

    E.g If you downloaded Python 3.9.7 above, then

    Steps to setup virtual environment

    • Create a virtual environment:

      python3.9 -m venv project1_env

    • Activate the virtual environment:

      source project1_env/bin/activate

    • Build the virtual environment:(must be present in project directory)

      pip install -r requirements.txt

  • Run Instructions

    To run/test the site locally:

    • Clone this (CmyPlot) github repo.

    • Navigate to project directory.

    • Create a virtual environment:

      python -m venv project1_env

    • Activate the virtual environment:

      source project1_env/bin/activate

    • Build the virtual environment:

      pip install -r requirements.txt

    • Run:

      python src/plotting/index.py

    • Site will be hosted at: http://127.0.0.1:8085/

Future Scope 🐾

There are multiple dimensions to this project catering to the interests of Various developers. Please check CONTRIBUTING.md and CODE_OF_CONDUCT.md for contributing rules

  • Resolve the existing issues.
  • Add more functionality in Graph and Table visuals to give more flexibility to user to interact with data.
  • Tables can be made editable to interact with data and visualize cause and effects for the given data.
  • If you're an ML enthusiast, basic machine learning models can be implemented to identify patterns in the data.

Roadmap

Team Members

Aditi Bhagwat

Anumit Garg

Palvit Garg

Rachit Sharma

Shree Ramasubramanian