Repository of small data analysis and visualisation projects to try out new libraries and create new types of visualisations. Mostly using Python.

Lisa-Ho Lisa-Ho Last update: Feb 27, 2024

Small data analysis and viz projects

Repository for small-ish analysis and data viz projects.

12/2021 UK Charities and their activities

Analysis using a new dataset that classifies and tags all active and inactive charities in the UK according to their activity/sector. This analysis explores how number of charities in specific activities have changed, whether specific sectors were more "trendy" at some point and whether others have died out. First time doing a streamgraph in python. Data available here.

Full code

03/2022 Star Wars characters

Been playing around with some Star Wars data using SWAPI and found a great template for making nice looking tables in matplotlib.

Full code

04/2022 Sourdough Google searches

First time using a new library (pytrends) to pull data from the Google Search API. Following a blog I wrote last year on sourdough baking, was curious if interest in sourdough was only a peak during the pandemic or remained high.

Full code

04/2022 Google searches of 'bike' across Europe

Another project using Google Search API to look at Google searches of 'bike' across Europe before & since the pandemic. Not much change in Scandinavia but higher interest in some countries suggesting a new normal? 🚲📈

Heavily inspired by Google Trends The New Normal.

Full code

04/2022 Cycling rates in London

Been looking at London cycling rates and found rates of regular cyclists are higher in inner + SW London. Latest data ending Nov 2020 shows increases in some boroughs since the pandemic. Data sourced from Active Life Survey. The map layout is based on the squared map from the London Data Store. Checkout my Twitter thread to see how it's put together.

Full code

07/2022 Gender pay gap (WIP)

Triggered by #TidyTuesday, got my hands on some gender pay gap data again. Worked up a couple of charts but wasn't too convinced where this was going. Wanted to focus on Tech vs charities, but haven't fully managed to do that yet. Was focused on trying out some new chart types, including beeswarm and ridge line plots. Might pick it up another time. Data comes from the TidyTuesday repository.

Full code

08/2022 Exploring OSMnx for mapping in python

Discovered OSMnx, a python library to easily extract geospatial data from OpenStreetMaps. Explored a few different ways to extract and display data. Definitely quite a powerful tool.

Full code

10/2022 Cycling in London

Continued playing around with cycling data for London. Updated the tilegrid map and created a few more charts. Definitely getting better at customising charts in matplotlib and using different chart types. Also turned the tile grid map into a Streamlit app (live app available here).

Full code

01/2023 Cultural venues in London

Follow up from maps I created as part of the #30DayMapChallenge 2022. Fun to play around with fishnet grids in python and created some maps that display aggregate data per square km (here: cultural venues in London). Definitely something I'll come back to at some point.

Full code

01/2023 Ridgemapp (WIP)

After falling in love with the ridge-map libarary, I'm currently working on a streamlit app that allows users to create their own ridge map designs. Watch this space ...

02/2023 Car ownership vs cycling rates in London

For #MapPromptMonday bivariate, created this quick map of cycling rates versus car ownership. Definitely want to dig a bit deeper into car ownership rates at some point. Also created a helper script to speed up bivariate colourmap creation in the future.

Full code

04/2023 Artificial grass

A few weeks ago, I read an article about an increase in number of households replacing their lawns with artificial grass. I was wondering how sellers are promoting artificial grass and manually scraped some websites. Good project to get back to some NLP and text analysis. And I've always wanted to create a histogram that shows text instead of bars.

Full code

05/2023 Google Search Autocomplete

Fun playing around with data from Google Search Autcomplete on "Why do cyclists ...". Managed to create a more complex layout in matplotlib using paths and bezier curves. Quite happy with the end result.

Full code

06/2023 Trees of London

Map for #MapPromptMonday Plants showing total trees and main type per 4sqkm.

Full code

07/2023 Gelaterias of Italy

Map for #MapPromptMonday Desserts showing Ice cream shops in Italy.

Full code

08/2023 Fix your bike voucher scheme

Came across the evaluation report for the Fix Your Bike voucher scheme that was run by the UK Department for Transport in 2020-2021 in an effort to increase active travel. The evaluation shows that reported levels of cycling have increased for people who have used their vouchers and got their bikes fixed. Read the full report here

Rough sketch for the chart made in python, final design tweaks in Figma. Code here

08/2023 Star Wars Scripts - Each line of Anakin episode 1

Found data for all six Star Wars scripts in this Github repository by Jean Wieme. He kindly made this data available for others to experiment and use it in data viz. So I did. Wanted to plot each line of Anakin and who he speaks to for the first three episodes, but the addressant is only available for the first one. So I focused on getting the chart right for just one episode.

Full code

10/2023 US grant opportunities

Contribution to #TidyTuesday exploring grant opportunities in the US. Found a great tutorial on how to create streamgraphs in python with the exact type of curve smoothing I wanted. Can't wait to use it for making a bumpchart.

Full code

12/2023 What C-3PO says

Reused data from Star Wars scripts I cleaned before to try bigram analysis (ie. co-occurence) of words said by 3-CPO. Network graph shows most common words that occured together.

Full code

01/2024 Birthdays of Canadian NHL Players

Chart for #TidyTuesday week 2 exploring birth dates of NHL players. Settled on a dotplot/stripplot and spent some time figuring out how to create a broken y-axis.

Full code

01/2024 Highest Paid Athletes

Chart for #MakeoverMonday looking at the World's Highest Paid Athletes. Used this simple data set to explore plottable - an awesome python library for creating stunning tables.

Full code

02/2024 Du Bois Visualization Challenge: 2024

Contributions to the Du Bois Visualization Challenge 2024.

The goal is to celebrate the data visualization legacy of W.E.B Du Bois by recreating the visualizations from the 1900 Paris Exposition using modern tools - in my case Python.

Full code

Subscribe to our newsletter