Summary and Schedule
This module teaches how to turn data into clear, honest charts and maps. It is written for social scientists and other beginners, and combines design principles with hands-on practice in two free tools: Python in Google Colab and QGIS.
| Episode | What you will learn | Tools |
|---|---|---|
| Introduction to Data Visualization | Why we visualize, how charts mislead, and design principles that apply to every figure | Python notebooks |
| Cartography Checklists | The questions to answer before making any map: audience, message, data, medium | Concepts |
| Fundamentals of Map Design | Map elements, color schemes, projections, thematic map types, normalization and classification | Concepts, Python and QGIS equivalents |
| Cartography in Python | Finished maps: layer order, labels with halos, basemaps, locator insets, scale bars, small multiples and export | Python notebooks |
| Cartography in QGIS | The same map with rule-based styling and labeling, a print layout with a locator inset, and export | QGIS |
| Accessibility in Map Design | Designing maps for people with color vision deficiency, testing palettes and writing alt text | QGIS and Python |
The episodes are designed to be taken in order, but the concept episodes (Cartography Checklists and Fundamentals of Map Design) can be read on their own.
Prerequisites
- A Google account, to open the notebooks in Google Colab
- QGIS installed on your computer (see the Setup instructions below)
- New to QGIS? Work through the Foundations module’s Getting Started with QGIS episode first
- For the notebooks: basic Python, such as running cells and working
with a
pandasDataFrame - No prior GIS or design experience is needed
All data used in this module is read directly from the web: the Introduction notebooks use datasets built into Plotly, and the Cartography episodes and the QGIS challenge in the Accessibility episode load small files from the Foundations and Case Studies modules. Learners never need to download data by hand.
This module is part of Enabling the Geospatial Turn in the Social Sciences, a set of training modules developed at Purdue University with support from the National Science Foundation.
| Setup Instructions | Download files required for the lesson | |
| Duration: 00h 00m | 1. Introduction to Data Visualization |
What is data visualization, and why does it matter for
research? What can a chart or map show that a table cannot? How can a visualization mislead, even when the data are correct? How do exploratory and explanatory visualizations differ? Which tools are a good fit for beginners, and which come later? |
| Duration: 01h 15m | 2. Cartography Checklists |
What should I decide before I start making a map? How do audience, message and medium shape a map’s design? How can a map mislead, even when the data are correct? When do I need more data, or a better understanding of my data, before mapping? |
| Duration: 02h 30m | 3. Fundamentals of Map Design |
What makes a map effective? How do visual hierarchy and visual variables guide a reader? How should colors be chosen for different kinds of data? What are map scale and projections, and why do they matter? Which thematic map type suits which data? Why should counts usually be converted to rates before mapping? How does the classification method change what a map shows? |
| Duration: 04h 15m | 4. Cartography in Python |
How do I turn a correct map into a finished one that others can read and
print? How should layers, labels and a basemap be ordered and styled? When do small multiples need a shared scale? |
| Duration: 05h 40m | 5. Cartography in QGIS |
How do I turn a correct map into a finished one that others can read and
print? How should layers, labels and a basemap be ordered and styled? When do small multiples need a shared scale? |
| Duration: 07h 10m | 6. Accessibility in Map Design |
Why is accessibility important in cartography? How do different types of color vision deficiency affect map reading? How can we design maps that are readable for people with color vision deficiency? What roles do hue, saturation and lightness play in accessible design? How can I choose and test accessible palettes in QGIS and Python? |
| Duration: 08h 40m | Finish |
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.
This module uses two free tools:
- Google Colab for the Python notebooks in the Introduction and Cartography in Python episodes. It runs in your web browser, so there is nothing to install.
- QGIS for the Cartography in QGIS and Accessibility episodes. It is a desktop program you install once.
What you need
- A Google account (for Colab)
- A computer where you can install software (for QGIS)
- Optional: a free Census API key for the optional Census section of notebook 1c. It arrives by email; click the activation link before using it.
Part 1: Google Colab
- Click a notebook link in the Notebooks table of the Introduction episode. It opens in Colab.
- Click File > Save a copy in Drive so your changes are kept.
- Run cells from top to bottom: click a cell and press Shift + Enter.
- If Colab warns that the notebook was not written by Google, click Run anyway.
The notebooks use datasets built into the Plotly library, so you never need to download data.
Part 2: Install QGIS
Follow the installation steps on the central Setup page of the Foundations module, which also shows the parts of the QGIS window. If QGIS is new to you, work through the Foundations module’s Getting Started with QGIS episode before the Accessibility episode.
Troubleshooting
| Problem | Fix |
|---|---|
| QGIS will not open on macOS | Right-click the app, choose Open, then confirm |
| The Browser or Layers panel is missing | View > Panels, then tick the panel |
| A layer loaded from a web address shows nothing | Right-click the layer and choose Zoom to Layer; check that the address was pasted completely |
| The basemap is blank | Check your internet connection; XYZ basemaps need to be online |
A Colab cell gives NameError
|
A cell above it was skipped; use Runtime > Run before |
A Colab cell gives ModuleNotFoundError
|
Run the !pip install cell at the top of the notebook
first |
You are all set. Start with the first episode, Introduction to Data Visualization.