top of page
Data Visualization

Asynchronous

-

This program is included with Career Launch Cohort Enrollment and Erdős Institute Alumni Club Membership at no additional cost.
erdosOspin.gif

Checking your registration status...

To access the program content, you must first create an account and member profile and be logged in.

Register

You are registered for this program.

Registration Deadlines

-

-

-

Category

Launch, Supplemental, Self-Directed, Mini-Course

Overview

Our materials touch on the following content to varying degrees:
• Plotting in Python: matplotlib, seaborn, plotly, and bokeh
• Web browser visualizations: HTML, CSS, SVG, and d3.js
• Basic Tableau
• Basic design principles

Slack

#slack-channel

Organizers, Instructors, and Advisors

matt_osborne.png

Steven Gubkin

Head of Training and Assessment

Office Hours:

By appointment only

Email:

Preferred Contact:

Slack

Message me on Slack if you have questions about the course! I am also your primary contact for GitHub access.

matt_osborne.png

Matthew Osborne, PhD

Lead Instructor, Senior Operations Analyst

Office Hours:

None

Email:

Preferred Contact:

Slack

Please direct all course questions to Steven Gubkin.

Objectives

The aim of this mini course is to teach you how to produce data visualizations in a variety of programming languages/softwares while also touching on fundamental design principles.

First Steps/Prerequisites

Participants should have a base-level familiarity with Python. If you are new to Python, but would still like to participate you can review our existing Python Prep materials to get up to speed. It will also be helpful, but not necessary to have a basic understanding of probability and statistics. If you would like to review some statistics or probability should check out the slides at these links: 
First Steps

Program Content

I'm a paragraph. Click here to add your own text and edit me. It's easy.

25231-github-cat-in-a-circle-icon-vector-icon-vector-eps.png
Program Content

Textbook/Notes

Data Viz Mini Course Introduction

Introduction

In this video I provide a quick introduction to the mini course.

Transcript
Code

The Figure Object

Python: matplotlib

Here we introduce matplotlib's Figure class, the basis for all matplotlib graphs.

Slides

plt.scatter

Python: matplotlib

Could you tell me how to make a scatter plot in matplotlib?

Slides

Charts Involving Rectangles

Python: matplotlib

Bar charts and box plots and histograms. Oh my!

Slides

Patches

Python: matplotlib

All Rectangles may be Patches in matplotlib, but not all Patches are Rectangles.

Slides

Saving a Figure to File

Python: matplotlib

How to save your Figures to a file so you don't lose them.

Slides

Data for seaborn

Python: seaborn

What data structures does seaborn like? How can we take advantage of those structures?

Slides

displots

Python: seaborn

How to make plots that look at empirical distributions in seaborn.

Slides

Error Bars and Confidence Intervals

Python: seaborn

How does seaborn make the error bars and confidence intervals it sometimes displays?

Slides

bokeh Introduction

Python: bokeh

In this video we introduce the bokeh Python package.

Slides

Adjusting Non-Graphical Elements

Python: bokeh

How to adjust the aesthetics of non-graphical elements in bokeh plots.

Slides

Saving Figures

Python: bokeh

We have made all these wonderful bokeh plots, how can we save them?

Slides

Figures and Traces

Python: plotly

plotly's basic plotting object.

Slides

New to Us Chart Types

Python: plotly

A few chart types that we have not seen in any of our packages up to this point.

Slides

Saving plotly Figures

Python: plotly

How can we save all of our wonderful plotly Figures?

Slides

Web Browser Based Visualization Intro

Web Browser Based: Intro

We introduce the section of the mini course dedicated to web browser based visualizations.

Slides

Attributes, Classes, and IDs

Web Browser Based: HTML

Different attributes of the HTML elements.

Slides

External Style Sheets

Web Browser Based: CSS

Sometimes its what's on the outside that counts.

Slides

SVG Paths

Web Browser Based: SVG

Follow the path

Slides

Starting a Local Server

Web Browser Based: d3.js

Sometimes we will want to start a local server to run our HTML documents.

Slides

JavaScript Data

Web Browser Based: d3.js

Some data types and how to make variables in JavaScript.

Slides

Using Data

Web Browser Based: d3.js

How to actually use the data in your data to alter HTML elements

Slides

Drawing SVGs With Data 2

Web Browser Based: d3.js

Throwing bar and line charts in the mix.

Slides

Text, Titles, and Labels

Web Browser Based: d3.js

If you like your graphs so much you should put a label on it.

Slides

Transitions

Web Browser Based: d3.js

Adding transitions to your d3.js plots.

Slides

Buttons

Web Browser Based: d3.js

How to interact with buttons using d3.js

Slides

Tableau Introduction

Tableau

Welcome to the world of Tableau brought to you by Salesforce.

Slides

Tableau Workbooks

Tableau

Everybody work work work work workbook.

Slides

Line Charts

Tableau

How to make line charts in Tableau.

Slides

Some Additional Basic Counting Plots

Tableau

How to make unit charts and bubble charts in Tableau.

Slides
Code

Tables

Tableau

Making tables in Tableau.

Slides
Code

Filters

Tableau

Filtering data and the order of operations in Tableau.

Slides
Code

Dashboards

Tableau

Making a dashboard out of your visualizations in Tableau.

Slides
Code

Tableau Next Steps

Tableau

What do you do now to grow in Tableau?

Slides
Code

Python Introduction

Python

In this video we discuss what we will cover in the Python portion of our mini course.

Slides

Axes Objects

Python: matplotlib

What goes on a Figure object? Why Axes objects of course.

Slides

Multiple Plots on One Axes

Python: matplotlib

This Axes IS big enough for the two of us.

Slides

plt.imshow

Python: matplotlib

Things are heating up with this one... We learn how to make heatmaps.

Slides

plt.subplots

Python: matplotlib

Making Figures with subplots in matplotlib.

Slides

matplotlib Next Steps

Python: matplotlib

So what now? Here we discuss some tips for how you could learn more matplotlib.

Slides

Figure- vs. Axes-level Functions

Python: seaborn

The two levels of seaborn plotting functions.

Slides

catplots

Python: seaborn

Making categorical plots in seaborn.

Slides

Adjusting Non-Graphical Elements

Python: seaborn

We learn how to adjust non-graphical elements of plots made with seaborn.

Slides

Static Plots

Python: bokeh

Making static plots with the help of the bokeh package.

Slides

Adding Some Interactivity

Python: bokeh

Let's get a little interactive with bokeh.

Slides

bokeh Next Steps

Python: bokeh

bokeh, what now?

Slides

plotly.express

Python: plotly

plotly.express is to plotly as seaborn is to matplotlib.

Slides

Hover Effects

Python: plotly

Editing the hover effects of our plotly graphs.

Slides

A Simple Dashboard

Python: plotly

We make a simple dashboard using plotly and dash.

Slides

HTML Introduction

Web Browser Based: HTML

We introduce the HTML "programming language".

Slides

CSS Introduction

Web Browser Based: CSS

Straight up Stylin.

Slides

SVG Introduction

Web Browser Based: SVG

Are those vector graphics to scale?

Slides

SVG Groups

Web Browser Based: SVG

Grouping your SVG elements together.

Slides

Adding Script to HTML

Web Browser Based: d3.js

Adding JavaScript to your HTML documents.

Slides

Binding Data

Web Browser Based: d3.js

Binding data to HTML elements.

Slides

Drawing SVGs With Data 1

Web Browser Based: d3.js

Making scatter plots with d3.js

Slides

d3.js and Groups

Web Browser Based: d3.js

Using groups to maintain a sense of order.

Slides

Colormaps

Web Browser Based: d3.js

How to add data based color to d3.js plots.

Slides

Updates

Web Browser Based: d3.js

Updating d3.js elements on user interactions.

Slides

Subsetting Data

Web Browser Based: d3.js

Filtering through data.

Slides

Getting Started with Tableau

Tableau

Getting you all set up with a Tableau Public account and the Tableau Public Desktop app.

Slides

Dimensions and Measures

Tableau

How does Tableau handle data?

Slides

Bar Charts and Point Plots

Tableau

How to make bar charts and point plots in Tableau.

Slides

Part-to-Whole Charts

Tableau

How to make pie charts and tree maps in Tableau.

Slides
Code

Maps

Tableau

Map-based visualizations in Tableau.

Slides
Code

Axes, Labels, Legends, Titles, and Tooltips

Tableau

Editing all of the non-plot elements of our Tableau visualizations.

Slides
Code

Stories

Tableau

Tableau's version of powerpoint presentations.

Slides
Code

matplotlib Introduction

Python: matplotlib

We introduce our matplotlib subsection.

Slides

plt.plot

Python: matplotlib

We learn about the go-to plotting function in matplotlib, plt.plot.

Slides

plt.text

Python: matplotlib

omg, lol, ttyl, no wait not that kind of text. We're adding strings onto our Axes in this one friends.

Slides

plt.pie

Python: matplotlib

Pie charts in matplotlib.

Slides

Adjusting Non-Graphical Elements

Python: matplotlib

In our longest (sorry everyone!) matplotlib lecture we cover how to change the appearance of non-graphical plot elements.

Slides

seaborn Introduction

Python: seaborn

An introduction to the seaborn package.

Slides

relplots

Python: seaborn

How to make relational plots in seaborn.

Slides

pairplot and jointplot

Python: seaborn

Making pairplots and jointplots in seaborn.

Slides

seaborn Next Steps

Python: seaborn

What should we do now?

Slides

Data for bokeh

Python: bokeh

What kinds of data can bokeh take in? What does it do with that data?

Slides

Using JavaScript in bokeh

Python: bokeh

Showing how we can use JavaScript to add more advanced interactivity in bokeh.

Slides

plotly Introduction

Python: plotly

We introduce our final Python visualization package, plotly.

Slides

Creating Graphs We Already Know

Python: plotly

We have learned how to make a number of graphs up to this point, how do we make them with plotly?

Slides

Adjusting Figure Layout

Python: plotly

How can we change the layout part of our plotly Figures.

Slides

plotly Next Steps

Python: plotly

How can I learn more about plotly?

Slides

HTML Elements and Tags

Web Browser Based: HTML

What are the different things we can add into our HTML pages?

Slides

Common Style Updates

Web Browser Based: CSS

What styles are all the rage these days?

Slides

Adding Simple SVG Elements

Web Browser Based: SVG

Circles, Rectangles, Text, wow!

Slides

d3.js Introduction

Web Browser Based: d3.js

We introduce data driven documents.

Slides

Some JavaScript Syntax

Web Browser Based: d3.js

A review of some basic JavaScript Syntax

Slides

Loading Data

Web Browser Based: d3.js

Loading data with d3.js

Slides

Scales

Web Browser Based: d3.js

Step onto the scale.

Slides

Axes and Grids

Web Browser Based: d3.js

How to add axes and grid lines to your d3.js figures.

Slides

Simple Hover Effects

Web Browser Based: d3.js

Changing the color and tooltips on hover.

Slides

Remove

Web Browser Based: d3.js

How to remove elements with d3.js.

Slides

Web Browser Based Visualizations Next Steps

Web Browser Based

What are some next steps for learning more about web browser based visualizations.

Slides

A Brief App Intro

Tableau

A short introduction into the Tableau Public application.

Slides

Scatter Plots

Tableau

Our first chart type in Tableau.

Slides

Histograms and Box Plots

Tableau

How to make histograms and box-and-whisker plots in Tableau.

Slides

Gantt Charts

Tableau

What is a Gantt chart and how do we make it in Tableau?

Slides
Code

Calculations

Tableau

Calculated fields in Tableau.

Slides
Code

Basic Interactions

Tableau

Adding and editing basic interactions in Tableau.

Slides
Code

Publishing to Tableau Public

Tableau

How to publish all of your wonderful work in Tableau.

Slides
Code

Project/Homework Instructions

I'm a paragraph. Click here to add your own text and edit me. It's easy.

Project/Team Formation
Project Submission
Projects README

Schedule

Click on any date for more details

Please check your registration email for program schedule and zoom links.

Project/Homework Deadlines

bottom of page