Summary and Schedule
This workshop lesson is an introduction to making interactive data visualizations in Python. Learners will create a new environment using conda, wrangle data into the proper format using pandas library, create visualizations using the Plotly Python library, and display these visualizations and create widgets using Streamlit.
Preview the app
For a preview of what learners will be creating in this lesson (including the exercises), click the “Open in Streamlit” button below. The repository that contains this example Streamlit app can be found here.
{% comment %} This is a comment in Liquid {% endcomment %}
Prerequisites
- Learners should have completed the Plotting and Programming in Python workshop lesson, or have some experience with Python and the pandas library.
- Learners should have Anaconda installed on their machines, as specified in the setup for Plotting and Programming in Python.
- Learners should be comfortable with using the command line and with using git, either on the command line or through an application like GitHub Desktop.
- Learners should have a Jupyter Lab & Streamlit compatible web browser installed (Google Chrome, Firefox, or Safari).
- Learners should have downloaded the required files (data_viz_workshop.zip) as specified in the Setup
- Learners should have a GitHub account if they wish to deploy (share) their app.
Setup Instructions | Download files required for the lesson | |
Duration: 00h 00m | 1. Why make interactive visualizations? |
Why are visual representations of data useful when trying to see
patterns? Why do we want to make visualizations interactive? Consider the message you want to convey or story you want to tell. Is it clearer with some interactivity? |
Duration: 00h 10m | 2. Create a New Environment | How can I create a new conda environment? |
Duration: 00h 30m | 3. Data Wrangling |
What format should my data be in for Plotly Express? Why can’t I use the data in its current format? What is tidy data? How can I use pandas to wrangle my data? |
Duration: 00h 50m | 4. Create Visualizations | How can I create an interactive visualization using Plotly Express? |
Duration: 01h 10m | 5. Create the Streamlit App |
How do I create a Streamlit app? How can I see a live preview of my app? |
Duration: 01h 30m | 6. Refactoring Code for Flexibility (Prepping for Widgets) |
How does the current code need to change in order to incorporate
widgets? What aspects of the code need to change? What does it mean to ‘refactor’ code? |
Duration: 01h 55m | 7. Add Widgets to the Streamlit App |
Why do I want to have widgets in my app? What kinds of widgets are there? How can I use widgets to alter my plot? |
Duration: 02h 25m | 8. Publish Your Streamlit App |
How do I deploy my app so other people can see it? How do I create a requirements.txt file?
|
Duration: 03h 15m | Finish |
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.
Getting the Files
Click the link to download the file
The dataset we will be using is taken from the gapminder dataset, just like the Plotting and Programming in Python workshop. We will also be using a special environment, which can be recreated on your machine using Anaconda.
To obtain the dataset and environment, download the file data_viz_workshop.zip. If given
the option, choose to Save File in your Desktop folder. If you are not
given the option to choose where to save the file, then move this zipped
file to your Desktop. Finally, double click the zipped file to unzip it.
You should now have a folder called data_viz_workshop
. If
you open this folder, you will see a file called
environment.yml
and a folder called Data
.
Optional: Create the virtual environment
Creating the environment can be done as a part of setup if learners already have experience in working with virtual environments. This will save time during the workshop itself to focus on other activities.
If your instructor tells you to create the dataviz
environment in advance, follow the directions in Episode 2, Create a new environment).
Then, you can open Jupyter Lab in the project root directory
(e.g. Desktop/data_viz_workshop
)
Create a GitHub account (if you don’t already have one)
You can sign up for a GitHub account at github.com/signup
Make sure to choose a general purpose email that you are likely to still have access to in 5 years - that is, not an email tied to a specific workplace, university, or Internet Service Provider.
Make sure to also choose an appropriate username that you are comfortable putting on your resume or sharing with colleagues - some variation of your name is a good idea.
After you have a GitHub account, you should also download GitHub Desktop, so that you can clone, pull, and push without having to use the command line. You can download GitHub Desktop here.
Installing Python Using Anaconda
Python is a popular language for research computing, and great for general-purpose programming as well. Installing all of its research packages individually can be a bit difficult, so we recommend Anaconda, an all-in-one installer.
Regardless of how you choose to install it, please make sure you install Python version 3.x (e.g., 3.6 is fine).
We will teach Python using the Jupyter Notebook, a programming environment that runs in a web browser (Jupyter Notebook will be installed by Anaconda). For this to work you will need a reasonably up-to-date browser. The current versions of the Chrome, Safari and Firefox browsers are all supported (some older browsers, including Internet Explorer version 9 and below, are not).