Sally Nicholls

Designer ⭑ Developer ⭑ Animator

Global News

QGIS Graphics

Infographics


A series of static graphics I’ve created using QGIS.

My role
  • Data wrangling
  • Designer

Tools
  • QGIS


QGIS graphic and heatmap ft. temperature data from the 2021 heat dome in BC.
A heatmap ft. temperature data from the 2021 heat dome in BC. The data was transformed using Python before being visualised in QGIS.
QGIS graphic ft. Atwell Peak, where three climbers disappeared in May 2024.
Atwell Peak, where three climbers disappeared in May 2024.
QGIS graphic showing the extent of the Sumas Prairie flood in Abbotsford, BC.
Map graphic showing the extent of the Sumas Prairie flood in Abbotsford, BC.
Global News

BC Wildfires Map

Desktop software

Publisher

Global News

This desktop application displays wildfire data from the BC government in Canada. It is used on a touchscreen TV for in-studio live hits for Global News BC. This project is actively being developed and was built for Windows devices.

For the best experience, press F11 or Fn + F11 on Windows, or Cmd + Ctrl + F on a Mac device to view the interactive in full screen.

The project embedded on this page is a streamlined version of the desktop app and features a free version of the satellite base-map and dummy data for presentation purposes.

The backend was built using the Rust-based Tauri framework and uses Rust code to grab data from the BC government’s open data portal.

The data is then compressed via an embedded Mapshaper application and visualised on the frontend using SvelteKit (TypeScript), OpenLayers and MapLibre.

My role
  • Developer
  • Designer

Tools
  • Tauri
  • Svelte
  • Mapshaper
  • OpenLayers
  • MapLibre
  • Canvas API
  • WebGL

Global News

Crimes reported in BC

Interactive map
Publisher

Global News

A visual record of crimes reported across BC from 2012 to 2022. It was made using the Svelte framework along with D3, JavaScript, HTML, and CSS. R was used to clean up and prepare the data for visualization, as well as Mapshaper to prepare the geometric data.

My role
  • Data collection
  • Data wrangling
  • Developer
  • Designer

Tools
  • Svelte
  • D3
  • R
  • Mapshaper
  • Visual Studio Code
  • Microsoft Excel


Global News

Politicians’ expenses chart

Interactive chart

Publisher

Global News

A visual breakdown of how much BC’s elected representatives were paid and how much they spent on travel and office costs from April 1, 2022 to March 31, 2023.

The data was sourced from the Legislative Assembly of British Columbia and scraped from PDFs using R library Tabulizer. The graphic itself was designed using Figma, and built with Svelte, D3, JavaScript, HTML, and CSS. The final look and functionality of the graphic evolved following user testing.

My role
  • Data collection
  • Data wrangling
  • Developer
  • Designer

Tools
  • Svelte
  • D3
  • R
  • Tabulizer
  • Visual Studio Code
  • Figma


Low Fidelity Wireframe

Please click on the image to enlarge it:

Wireframe for MLA expenses graphic
Wireframe for MLA expenses graphic

Miscellaneous

R, Python and D3 graphs and charts

Interactive charts


A series of responsive charts I’ve created using R, Python, D3, JavaScript, HTML and CSS.

My role
  • Data collection
  • Data wrangling
  • Developer
  • Designer

Tools
  • R
  • Python
  • D3
  • Mapshaper
  • Canvas API
  • Microsoft Excel
  • Visual Studio Code
  • RStudio


Line chart

An interactive line chart created with R packages ggplot2 and ggiraph. The data was scraped directly from CATSA using Microsoft Excel, and restructured and analysed with R:

Stacked bar chart

An interactive stacked bar chart created with ggplot2 and ggiraph. The data was pulled from an Angus Reid survey and analysed with R:

Donut chart

An interactive donut chart created with D3, HTML, CSS and JavaScript. The data was pulled from Statistics Canada (source 1, source 2) and transformed and analysed with R:

Cluster chart

An interactive chart comparing the effectiveness of vaccines against COVID-19. I was inspired to create this after reading this article on how certain COVID-19 data can be more accurately compared using the incidence rate ⁠— a figure which shows how often an event, such as disease or death, occurs in a population.

The numbers for this cluster chart were pulled from CDC and cleaned up with Excel. The data centers on information recorded on January 2, 2022 ⁠— when infections across 30 US jurisdictions were at their peak.

D3, HTML, CSS and JavaScript were used to create the visualisation. The animated points were drawn with the Canvas API to minimize loading speeds.

Choropleth map

An interactive map looking at the shelter-cost-to-income ratio across Canada. The numbers were pulled from Statistics Canada, and transformed and analysed with Python library pandas.

D3, HTML, CSS, JavaScript and Mapshaper were used to create the visualisation:

Waffle chart

An interactive waffle chart looking at racial diversity in Canada’s federal parliament. The numbers were taken from a survey and transformed with R.

R packages ggplot2, ggiraph and waffle were used to build the visualisation, which was further customized with D3, HTML, CSS and JavaScript:

Grouped bar chart

An interactive bar chart comparing physician salaries across specialties in the US and Canada. The data was compiled from a Medscape survey and CIHI report released in 2022, and transformed with R.

R packages ggplot2 and ggiraph were used to create the visualisation:

Sankey diagram

An interactive sankey depicting how a $54 federal million budget was spent on the development of ArriveCAN, a travel app used as a screening tool for travellers entering Canada during the COVID-19 pandemic. The data was taken from the Canada Border Services Agency website and reformatted in Excel.

The diagram was coded in HTML, CSS and JavaScript with D3:

Dot plot

An interactive dot plot presenting the average life expectancy for men and women across Canada, according to the latest available data from Statistics Canada.

The chart was coded in HTML, CSS and JavaScript with D3:

Tree diagram

A tree diagram presenting the leadership structure of Hamas, according to the Council on Foreign Relations. It was coded in HTML, CSS and JavaScript with D3:

Euronews

Abortion laws in Europe

Interactive quiz
Publisher

Euronews

An interactive tool which details abortion rules for almost every country in Europe until 2018. I created this interactive Q&A embed using HMTL, CSS, Javascript and jQuery. The research was conducted by fellow journalists Alice Cuddy, Stephanie Burnett, and myself.

Read more: https://web.archive.org/web/20230104052131/https://www.euronews.com/2018/05/24/quiz-what-are-the-abortion-laws-in-your-country-

My role
  • Research
  • Developer
  • Designer


Euronews

Syria’s Civil War

Interactive timeline
Publisher

Euronews

A detailed breakdown of Syria’s civil war, from January 2011 until March 2018.

This multimedia-rich, interactive timeline pulls data from a Google Spreadsheet. I created the responsive tool using HTML, CSS, Javascript and jQuery.

NOTE: This timeline is no longer visible on Euronews.com due to Google depreciating its Sheets v3 API.

Read more: https://www.euronews.com/2018/03/12/syria-anniversary-7-years-of-death-and-displacement-as-war-rages-on

My role
  • Research
  • Data wrangling
  • Designer
  • Developer

Tools
  • Google Sheets API

Daily Record

General Election 2017

Interactive map
Publisher

Daily Record

SNP big guns Alex Salmond and Angus Robertson were ousted by Tories in a shock general election result in 2017.

I created this responsive interactive map to show readers how the election results were distributed across the UK and updated it live during the event. It was made using CARTO’s map API and Leaflet. I filtered the data using SQL, and built the interface with HTML, CSS, JavaScript and jQuery.

Read more: http://www.dailyrecord.co.uk/news/politics/general-election-2017-interactive-map-10589708

My role
  • Data collection
  • Data wrangling
  • Designer
  • Developer

Tools
  • CartoDB API
  • SQL
  • Leaflet
  • Microsoft Excel

Glasgow Live

Crime in Glasgow

Interactive map
Publisher

Glasgow Live

An in-depth look at crime across the city of Glasgow in Scotland from 2012-2017. This was a self-led project created for Glasgow Live (Reach PLC) and based on crime statistics from Police Scotland, which I requested under the Freedom of Information Act.

The graphic was made using CARTO’s map API and SQL to manage the data, and Leaflet, HTML, CSS, JavaScript and jQuery to visualise it.

My role
  • Research
  • Data collection
  • Data wrangling
  • Designer
  • Developer

Tools
  • CartoDB API
  • SQL
  • Leaflet
  • Microsoft Excel

Daily Record

EU Referendum 2016

Interactive map
Publisher

Daily Record

Fifteen hours after opening, polling stations for the EU Referendum closed and Brits at home and abroad waited to discover if it was Remain or Brexit for the UK.

Voters had their say in 399 local authority areas and as the majority prepared for bed, the counting began.

I created this responsive interactive map to show readers how the referendum results were distributed and updated it live during the event. It was made using CARTO’s map API, GIS and Leaflet, and SQL to filter its data, as well as HTML, CSS, JavaScript and jQuery.

Read more: https://www.dailyrecord.co.uk/news/politics/eu-referendum-follow-results-each-8270207

My role
  • Data collection
  • Data wrangling
  • Designer
  • Developer

Tools
  • CartoDB API
  • SQL
  • Leaflet