Resources for teaching & learning practical data visualization with python.

Overview

Practical Data Visualization with Python

Overview

All views expressed on this site are my own and do not represent the opinions of any entity with which I have been, am now, or will be affiliated.

This repository contains all materials related to a lecture / seminar I teach on practical data visualization with python. What I mean by "practical" is that the materials herein do not focus on one particular library or data visualization method; rather, my goal is to empower the consumer of this content with the tools, heuristics, and methods needed to handle a wide variety of data visualization problems.

If you have questions, comments, or suggested alterations to these materials, please open an issue here on GitHub. Also, don't hesitate to reach out via LinkedIn.

Outline of Materials

Below you'll find a brief outline of the content contained in the four sections of this seminar, along with notebook links, and an example visualization from each section. For each section there is a separate notebook of python code containing all the materials for that section. Each notebook will start with a few setup steps--package imports and data prep mostly--that are almost identical between the notebooks, directly after which comes the content for each section. For information about the data used in these materials, check out the data_prep_nb.ipynb notebook, the easy-to-view version of which is hosted here.

Section 1: Why We Visualize

Here is the link to the easy-to-view notebook for this section of material.
Here is the link to the GitHub-hosted notebook for this section of the material.

  1. The power of visual data representation and storytelling.
  2. A few principles and heuristics of visualization.
  3. The building blocks of visualization explored.

Example Visualization from this Section:

Section 2: Overview of Python Visualization Landscape

Here is the link to the easy-to-view notebook for this section of material.
Here is the link to the GitHub-hosted notebook for this section of the material.

  1. Intro to the visualization ecosystem: python's Tower of Babel.
  2. Smorgasbord of packages explored through a single example viz.
  3. Quick & dirty (and subjective) heuristics for picking a visualization package.

Example Visualization from this Section:

Section 3: Statistical Visualization in the Wild

Here is the link to the easy-to-view notebook for this section of material.
Here is the link to the GitHub-hosted notebook for this section of the material.

  1. Example business use case of data visualization:
    1. Observational:
      • mean, median, and variance
      • distributions
    2. Inferential:
      • parametric tests
      • non-parametric tests

Example Visualization from this Section:

Section 4: Library Deep-Dive (Plotly)

Here is the link to the easy-to-view notebook for this section of material.
Here is the link to the GitHub-hosted notebook for this section of the material.

  1. Quick and simple data visualizations with Plotly Express.
  2. Additional control and complexity with base Plotly.

Example Visualization from this Section:

Homework Exercises

There is a homework associated with these materials, for those interested. Given the open-ended nature of the homework, there is no answer key. That said, if you're working through it and would like some feedback, feel free to reach out to me via LinkedIn.

Here is the link to the easy-to-view homework notebook.
Here is the link to the GitHub-hosted version of the homework notebook.

Setup Instructions

  • clone this repository
  • create a virtual environment using python3 -m venv env
  • activate that virtual environment using source env/bin/activate
  • install needed packages using pip install -r requirements.txt
  • run an instance of jupyter lab out of your virutal env using env/bin/jupyter-lab
  • open and run the four main files of content for this course--one for each section:
    • part_1_main_nb.ipynb
    • part_2_main_nb.ipynb
    • part_3_main_nb.ipynb
    • part_4_main_nb.ipynb
Owner
Paul Jeffries
Trained in intl. econ; started in mortgage finance; dabbled in equities & crypto; now working in banking. I enjoy challenging questions regarding value & risk.
Paul Jeffries
Mapomatic - Automatic mapping of compiled circuits to low-noise sub-graphs

mapomatic Automatic mapping of compiled circuits to low-noise sub-graphs Overvie

Qiskit Partners 27 Nov 06, 2022
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
High-level geospatial data visualization library for Python.

geoplot: geospatial data visualization geoplot is a high-level Python geospatial plotting library. It's an extension to cartopy and matplotlib which m

Aleksey Bilogur 1k Jan 01, 2023
Analysis and plotting for motor/prop/ESC characterization, thrust vs RPM and torque vs thrust

esc_test This is a Python package used to plot and analyze data collected for the purpose of characterizing a particular propeller, motor, and ESC con

Alex Spitzer 1 Dec 28, 2021
Matplotlib tutorial for beginner

matplotlib is probably the single most used Python package for 2D-graphics. It provides both a very quick way to visualize data from Python and publication-quality figures in many formats. We are goi

Nicolas P. Rougier 2.6k Dec 28, 2022
Declarative statistical visualization library for Python

Altair http://altair-viz.github.io Altair is a declarative statistical visualization library for Python. With Altair, you can spend more time understa

Altair 8k Jan 05, 2023
HW_02 Data visualisation task

HW_02 Data visualisation and Matplotlib practice Instructions for HW_02 Idea for data analysis As I was brainstorming ideas and running through databa

9 Dec 13, 2022
Data-FX is an addon for Blender (2.9) that allows for the visualization of data with different charts

Data-FX Data-FX is an addon for Blender (2.9) that allows for the visualization of data with different charts Currently, there are only 2 chart option

Landon Ferguson 20 Nov 21, 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
daily report of @arkinvest ETF activity + data collection

ark_invest daily weekday report of @arkinvest ETF activity + data collection This script was created to: Extract and save daily csv's from ARKInvest's

T D 27 Jan 02, 2023
A Python function that makes flower plots.

Flower plot A Python 3.9+ function that makes flower plots. Installation This package requires at least Python 3.9. pip install

Thomas Roder 4 Jun 12, 2022
Bokeh Plotting Backend for Pandas and GeoPandas

Pandas-Bokeh provides a Bokeh plotting backend for Pandas, GeoPandas and Pyspark DataFrames, similar to the already existing Visualization feature of

Patrik Hlobil 822 Jan 07, 2023
Blender addon that creates a temporary window of any type from the 3D View.

CreateTempWindow2.8 Blender addon that creates a temporary window of any type from the 3D View. Features Can the following window types: 3D View Graph

3 Nov 27, 2022
Collection of scripts for making high quality beautiful math-related posters.

Poster Collection of scripts for making high quality beautiful math-related posters. The poster can have as large printing size as 3x2 square feet wit

Nattawut Phetmak 3 Jun 09, 2022
Pebble is a stat's visualization tool, this will provide a skeleton to develop a monitoring tool.

Pebble is a stat's visualization tool, this will provide a skeleton to develop a monitoring tool.

Aravind Kumar G 2 Nov 17, 2021
Altair extension for saving charts in a variety of formats.

Altair Saver This packge provides extensions to Altair for saving charts to a variety of output types. Supported output formats are: .json/.vl.json: V

Altair 85 Dec 09, 2022
mysql relation charts

sqlcharts 自动生成数据库关联关系图 复制settings.py.example 重命名为settings.py 将数据库配置信息填入settings.DATABASE,目前支持mysql和postgresql 执行 python build.py -b,-b是读取数据库表结构,如果只更新匹

6 Aug 22, 2022
The open-source tool for building high-quality datasets and computer vision models

The open-source tool for building high-quality datasets and computer vision models. Website • Docs • Try it Now • Tutorials • Examples • Blog • Commun

Voxel51 2.4k Jan 07, 2023
Pydrawer: The Python package for visualizing curves and linear transformations in a super simple way

pydrawer 📐 The Python package for visualizing curves and linear transformations in a super simple way. ✏️ Installation Install pydrawer package with

Dylan Tintenfich 56 Dec 30, 2022
`charts.css.py` brings `charts.css` to Python. Online documentation and samples is available at the link below.

charts.css.py charts.css.py provides a python API to convert your 2-dimension data lists into html snippet, which will be rendered into charts by CSS,

Ray Luo 3 Sep 23, 2021