This lesson is being piloted (Beta version)

Interactive Data Visualizations in Python: Glossary

Key Points

Why make interactive visualizations?
  • Visualization is an important part of both exploratory data analysis and communicating results

  • Interactivity allows us to visualize more information without overcomplicating a single plot

Create a New Environment
  • use conda env create --file environment.yml to create a new environment from a YAML file

  • see a list of all environments with conda env list

  • activate the new environment with conda activate <NAME>

  • see a list of all installed packages with conda list

Data Wrangling
  • Import your CSV using pd.read_csv('<FILEPATH>')

  • Transform your dataframe from wide to long with pd.melt()

  • Split column values with df['<COLUMN>'].str.split('<DELIM>')

  • Sort rows using df.sort_values()

  • Export your dataframe to CSV using df.to_csv('<FILEPATH>')

Create Visualizations
  • Before visualizing your dataframe, make sure it only includes the rows you want to visualize. You can use pandas’ query() function to easily accomplish this

  • To make a line plot with px.line, you need to specify the dataframe, X axis, and Y axis

  • If you want to have multiple lines, you also need to specify what column determines the line color

  • In a Jupyter Notebook, you need to call fig.show() to display the chart

Create the Streamlit App
  • The entire streamlit app must be saved in a single python file, typically app.py

  • To run the app locally, enter the bash command streamlit run app.py

  • Add a title with st.title('Title'), and other text with st.write('## Markdown can go here')

  • Make sure your dataframes and figures are stored in variables, typically df for a dataframe and fig for a figure

  • To display a plotly figure, use st.plotly_chart(fig)

Refactoring Code for Flexibility (Prepping for Widgets)
  • In order to add widgets, we need to refactor our code to make it more flexible.

  • f-Strings allow you to easily insert variables into a string

Add Widgets to the Streamlit App
  • Add a widget to select the continent or metric from a list with st.selectbox()

  • There are two ways to add a widget to the sidebar: st.sidebar.<widget>() and with st.sidebar: st.<widget>()

Publish Your Streamlit App
  • All Streamlit apps must have a GitHub repo with the code, data, and environment files

  • You can deploy up to 3 apps for free with Streamlit Cloud

Glossary

FIXME