A command line tool for visualizing CSV/spreadsheet-like data

Overview

PerfPlotter

pre-commit

Read data from CSV files using pandas and generate interactive plots using bokeh, which can then be embedded into HTML pages and served by server-client applications (or at least allow them to be viewed on a browser).

Contents

Environment

  • Python 3.8.x
  • macOS 10.15.x
  • Firefox 88.x

Setup

  1. Clone and cd into the perfplotter directory
  2. Install dependencies
    $ pipenv install --dev --python=/path/to/python3.8
    
    
  3. Install pre-commit hooks
    $ pre-commit install
    $ pre-commit run --all-files
    
    
    • Optional: pre-commit autoupdate
  4. Activate virtual environment
  5. In the same directory as setup.py, install *perfplotter as an editable dependency:
    $ pip install -e .
    
    
    • Use bare pip here to exclude perfplotter from the Pipfile* (which is under version control)
    • Do pipenv clean to really make sure it's not included in the Pipfile*
  6. Start and open any of the jupyter notebooks
    $ jupyter notebook --notebook-dir tutorials/notebooks
    
    

Usage

Show the main usage/help info

$ perfplotter --help

Show each command's usage/help info

$ perfplotter examples --help
$ perfplotter timeseries --help
$ perfplotter histogram --help

Supported plots

  • Plot TimeSeries
    $ perfplotter timeseries --help
    $ perfplotter timeseries /path/to/my.csv -x 1 -y 2
    
    
  • Plot Histogram
    $ perfplotter histogram --help
    $ perfplotter histogram /path/to/my.csv -x 1 -y 2
    
    

Use examples to test

$ perfplotter examples sample1
Generated 
   
    /out/sample1.csv

$ perfplotter timeseries out/sample1.csv

   

The last command should open up a browser with an interactive plot of sample1.csv

sample-timeseries-browser

Distribution

  1. In the same directory as setup.py:
    $ python setup.py sdist
    
    
    • This should create a dist/perfplotter-VERSION.tar.gz file
  2. In another directory (i.e. a test env) where perfplotter will be used:
    $ pipenv install /path/to/perfplotter/dist/perfplotter-VERSION.tar.gz
    
    
Owner
Gino Mempin
Gino Mempin
Make scripted visualizations in blender

Scripted visualizations in blender The goal of this project is to script 3D scientific visualizations using blender. To achieve this, we aim to bring

Praneeth Namburi 10 Jun 01, 2022
Arras.io Highest Scores Over Time Bar Chart Race

Arras.io Highest Scores Over Time Bar Chart Race This repo contains a python script (make_racing_bar_chart.py) that can generate a csv file which can

Road 2 Jan 16, 2022
Example scripts for generating plots of Bohemian matrices

Bohemian Eigenvalue Plotting Examples This repository contains examples of generating plots of Bohemian eigenvalues. The examples in this repository a

Bohemian Matrices 5 Nov 12, 2022
Pyan3 - Offline call graph generator for Python 3

Pyan takes one or more Python source files, performs a (rather superficial) static analysis, and constructs a directed graph of the objects in the combined source, and how they define or use each oth

Juha Jeronen 235 Jan 02, 2023
Dimensionality reduction in very large datasets using Siamese Networks

ivis Implementation of the ivis algorithm as described in the paper Structure-preserving visualisation of high dimensional single-cell datasets. Ivis

beringresearch 284 Jan 01, 2023
Tools for calculating and visualizing Elo-like ratings of MLB teams using Retosheet data

Overview This project uses historical baseball games data to calculate an Elo-like rating for MLB teams based on regular season match ups. The Elo rat

Lukas Owens 0 Aug 25, 2021
Automatically generate GitHub activity!

Commit Bot Automatically generate GitHub activity! We've all wanted to be the developer that commits every day, but that requires a lot of work. Let's

Ricky 4 Jun 07, 2022
Make your BSC transaction simple.

bsc_trade_history Make your BSC transaction simple. 中文ReadMe Background: inspired by debank ,Practice my hands on this small project Blog:Crypto-BscTr

foolisheddy 7 Jul 06, 2022
Simple plotting for Python. Python wrapper for D3xter - render charts in the browser with simple Python syntax.

PyDexter Simple plotting for Python. Python wrapper for D3xter - render charts in the browser with simple Python syntax. Setup $ pip install PyDexter

D3xter 31 Mar 06, 2021
An adaptable Snakemake workflow which uses GATKs best practice recommendations to perform germline mutation calling starting with BAM files

Germline Mutation Calling This Snakemake workflow follows the GATK best-practice recommandations to call small germline variants. The pipeline require

12 Dec 24, 2022
University of Missouri - Kansas City: CS451R: Capstone

CS451RC University of Missouri - Kansas City: CS451R: Capstone Installation cd git clone https://github.com/ala2q6/CS451RC.git cd CS451RC pip3 instal

Alex Arbuckle 1 Nov 17, 2021
PolytopeSampler is a Matlab implementation of constrained Riemannian Hamiltonian Monte Carlo for sampling from high dimensional disributions on polytopes

PolytopeSampler PolytopeSampler is a Matlab implementation of constrained Riemannian Hamiltonian Monte Carlo for sampling from high dimensional disrib

9 Sep 26, 2022
A declarative (epi)genomics visualization library for Python

gos is a declarative (epi)genomics visualization library for Python. It is built on top of the Gosling JSON specification, providing a simplified interface for authoring interactive genomic visualiza

Gosling 107 Dec 14, 2022
A simple interpreted language for creating basic mathematical graphs.

graphr Introduction graphr is a small language written to create basic mathematical graphs. It is an interpreted language written in python and essent

2 Dec 26, 2021
GitHubPoster - Make everything a GitHub svg poster

GitHubPoster Make everything a GitHub svg poster 支持 Strava 开心词场 扇贝 Nintendo Switch GPX 多邻国 Issue

yihong 1.3k Jan 02, 2023
Quickly and accurately render even the largest data.

Turn even the largest data into images, accurately Build Status Coverage Latest dev release Latest release Docs Support What is it? Datashader is a da

HoloViz 2.9k Dec 28, 2022
A Scheil-Gulliver simulation tool using pycalphad.

scheil A Scheil-Gulliver simulation tool using pycalphad. import matplotlib.pyplot as plt from pycalphad import Database, variables as v from scheil i

pycalphad 6 Dec 10, 2021
Gesture controlled media player

Media Player Gesture Control Gesture controller for media player with MediaPipe, VLC and OpenCV. Contents About Setup About A tool for using gestures

Atharva Joshi 2 Dec 22, 2021
A toolkit to generate MR sequence diagrams

mrsd: a toolkit to generate MR sequence diagrams mrsd is a Python toolkit to generate MR sequence diagrams, as shown below for the basic FLASH sequenc

Julien Lamy 3 Dec 25, 2021