2022-04-21+ Interactive Data Visualization with Python

Learn about data visualizations, and how to incorporate them into customizable dashboards to level up your bounty submissions! Led by LTirrell#4794


While Flipside and Dune are great platforms for dashboard creation, some use cases require more flexibility. This includes creating customized reports, more complicated visualizations, or statistical analysis.
This Learn in Public series will go over the basics of interactive data visualizations, and alternative ways to share dashboards without having to host your own web server (and no Javascript experience!).


Learn in Public is meant to be a hands-on series, meeting weekly over approximately one month. Participants are highly encouraged to complete the assigned tasks from the week and be involved in discussion. There are suggested prerequisites necessary to be able to fully participate.
For this series, participants would be expected to have some basic coding and data analysis knowledge, ideally in Python (though other languages like R would probably translate).


The first part of this course will cover the Altair Visualization Library, focusing on the notebooks from this Data Visualization Curriculum (3 weeks).
The second part of this course will turn these data visualizations into dashboards, using streamlit or datapane (details will be determined and updated). We’ll end with a submission for a Metrics DAO bounty using the new skills learned in the course.
There will be assignments to be completed before each weekly discussion, so that everyone has already had a chance to complete the work before going over it in more details. Each week will be led by a moderator who will walk through that week's assignment, facilitate discussion and help answer questions.

Background Material / Prerequisites

Basic knowledge of Python, or another programming language is required. This series is not designed for complete beginners to coding.
Here are some resources to learn Python for future endeavors!


Discussion Topic
Assignments: due before next week
(before weekly meetings start)
Setup and getting started
This is preparation before the workshop starts!
We’ll get started using Altair following the Data Visualization Curriculum. To make things simpler, the Google Colab notebooks are used so no installation is necessary.
During this week, complete the first 2 Lessons from the course (the links in the Assignments).
If you have any issues or questions, send a message to the #🗒│workshops channel on Discord!
Thursday, April 21, 2022 9:30 AM PDT
Overview and Altair part 1
We’ll start the course with a brief overview of the course and its goals, and some introductions.
The main part of this week will focus on the assignments completed during Week 0. This will be an informal discussion, so bring up anything you want related to the topic!
Thursday, April 28, 2022 9:30 AM PDT
Altair part 2
This week continues with learning Altair, following the same format as last week. We’ll review assignments completed during Week 1
Wednesday, May 5 2022 9:30 AM PDT
Altair part 3
This is the last week of focusing on the Data Visualization Curriculum. We’ll go over assignments from Week 2, and wrap up with any final thoughts on Altair.
NOTE: Date change
Thursday, May 19, 2022 9:30 AM PDT
Intro to dashboards
In our final week, we’ll end with an overview of creating interactive dashboards, to share the great visuals you learned to create!
At this point, you can use Altair and streamlit to solve bounties on MetricsDAO or other platforms!
Optional: Prepare a bounty submission for MetricsDAO Streamlit References: Gallery Docs
TBD: Data and Chill on Discord
Level up your bounty submission!
Stay in contact over Discord to continue using the skills learned here for future bounties.

Bonus Assignments

UST/LUNA price data

We have a dataset of hourly UST and LUNA price information. Let's use it to make a chart!
The query used to get the dataset is here and can be read into python with the following code:
url = "https://api.flipsidecrypto.com/api/v2/queries/5a8cda2b-30f4-4179-a91b-86aace3a0d69/data/latest"
df = pd.read_json(url)
Create a new cell in one of the Colab notebooks, run those lines to create your DataFrame, and then use the Altair knowledge you have to visualize the data.
To see some examples, scroll down to the bottom of this notebook.