ECPR

Install the app

Install this application on your home screen for quick and easy access when you’re on the go.

Just tap Share then “Add to Home Screen”

Data Visualisation for the Social Sciences

Level

Level: Introductory

Software

  • R
  • RStudio
  • Python
New

Member rate £572.50
Non-Member rate £1,145.00

Early bird discount available until 14 December 2026.

Save £45.00 Loyalty discount applied automatically*
Save 5% on each additional course booked

* If you attended a qualifying previous Methods School in 2026, you qualify for £45.00 off your course fee.

Course Dates and Times

Date: Monday 22 – Friday 26 February 2027
Time: 13:30 – 16:30 CET

Felicia Loecherbach

felicia.loecherbach@gmail.com

Vrije Universiteit Amsterdam

This interactive course uses advanced pedagogical tools and is designed for master's-level students and above. It runs as three-hour live sessions on Zoom over five days, with course materials and pre-course readings available on our Learning Management System at least two weeks before the start. Office hours are also available for one-to-one consultations on your own project.

The course is limited to 18 participants, ensuring that the teaching team can address the individual needs of each participant.

Purpose of the course

Data visualisation is a core method for social scientists, yet it is rarely taught in its own right. This course introduces the principles and practice of visualising data, built around the grammar of graphics: a general framework for describing any figure as data mapped to visual properties.

You will learn how perception shapes what readers see, how to choose suitable figures for distributions, comparisons, relationships and change over time, and how to visualise uncertainty and regression results. Examples use typical social science data, such as cross-national surveys and country-level indicators, to show how visualisation helps you explore data, detect problems that summary statistics hide and communicate findings honestly.

By the end of the course, you will be able to build and customise common figure types in R or Python and critically evaluate visualisations. The online course combines short lectures, live coding demonstrations and guided small-group exercises, with all materials provided in both R and Python.

ECTS Credits

3 ECTS credits awarded for engaging fully in class activities.
1 additional ECTS credit awarded for completing a post-course assignment.


Instructor Bio

Felicia Loecherbach is Assistant Professor at Vrije Universiteit Amsterdam, working in computational and political communication science. She was previously at the University of Amsterdam, and is a Faculty Research Affiliate at NYU’s Center for Social Media and Politics, where she also worked as a postdoctoral researcher.

Her research examines news diversity, algorithmic curation and visual political communication, using computational methods, digital trace data and data donation. In her NWO Veni project, she develops valid measurement approaches for visual social media data. She has taught graduate courses in computational methods, including Big Data and Automated Content Analysis.

Figures are often the first thing readers look at in a study, and one of the first tools researchers should use to understand their own data. Yet summary statistics and models can hide what is actually there: skewed distributions, outliers, non-linear patterns or data errors. This course treats data visualisation as a method in its own right, focused on how to make and read figures well.

The course moves from principles to practice. It starts with how visual perception works and with the grammar of graphics, which gives you a single, consistent way to think about and build any figure. You will then work through the main types of social science data: distributions and group comparisons; relationships and change over time; and uncertainty and statistical estimates. The course closes with design choices and the common ways in which figures mislead.

You can follow the course in either R (ggplot2) or Python (seaborn, matplotlib and plotnine), as all examples and exercises are provided in both languages.

Day 1: Why visualise? Perception and the grammar of graphics

The course starts with why visualisation matters, using examples such as Anscombe’s quartet, where identical statistics hide very different data. You will then look at how people perceive visual encodings such as position, length, colour and area, and why some figures are easier to read than others. The second half of the day introduces the grammar of graphics: data, aesthetic mappings, geometries and scales. In a live coding session and guided exercises, you will build your first figures layer by layer and get your software set up and running.

Day 2: Distributions and comparisons

This day covers how to visualise single variables and compare groups, using bar charts, histograms, density plots and boxplots, as well as grouped and stacked bars and small multiples. You will discuss how to choose between these forms and how ordering, binning and scales change what a figure shows. Working in small groups, you will explore a cross-national survey dataset and produce a short set of descriptive figures, which you will present and discuss in the closing debrief.

Day 3: Relationships and change over time

You will move on to relationships between variables and change over time, using scatterplots, trend lines, line charts and heatmaps, and learn how to deal with overplotting. Special attention is given to common pitfalls, such as incorrectly grouped lines or missing values that silently distort a trend. In the exercises, you will analyse country-level indicators over time, use visualisation to spot unusual cases and data problems, and follow up on what you find with targeted figures.

Day 4: Visualising uncertainty and statistical results

This day focuses on showing uncertainty through error bars, confidence intervals and ribbons, and on visualising regression results through coefficient plots and predicted values. You will discuss why figures without uncertainty can mislead and how different representations shape interpretation. Using model outputs provided by the instructor, you will practise turning statistical results into figures and interpreting them in small groups, comparing which visual forms communicate the results most clearly.

Day 5: Design choices, honesty and good practice

The final day covers design choices that make figures clear and accessible: labels, annotation, colour palettes and colourblind-friendly design. You will then look at how figures can mislead through truncated or dual axes, poor chart choices and selective framing. A short outlook introduces further forms, such as maps, interactive graphics, and text or network visualisations. In the closing exercise, you will critique a set of flawed figures and redesign one, presenting your before-and-after versions to the group.


Post-course assignment

You will complete a visual data analysis using either a dataset of your choice or one provided by the instructor. The assignment has three parts:

  • Exploratory figures: produce five to six figures that together explore the dataset. They should cover distributions or group comparisons, a relationship or change over time, and at least one visualisation of uncertainty or statistical estimates.
  • Design rationale: for each figure, write a short justification (about 150–200 words) explaining your choice of visual form, encodings and design, what the figure reveals about the data, and which alternatives you considered.
  • Critique and redesign: select one published figure from a social science journal, news outlet or report, critique it using the principles from the course, and produce an improved version with a brief explanation.

You will submit a short report of about 2,000 words, including all figures, along with the full R or Python code needed to reproduce them. Assessment focuses on the appropriate choice of visual forms, technical execution, the clarity and honesty of the figures, and the quality of the reasoning behind your design decisions.

Prerequisite knowledge

You should be familiar with:

  • Basic programming in R or Python: loading a dataset, inspecting it, selecting and filtering variables, and computing simple summaries such as means and counts
  • Basic descriptive statistics: distributions, means, medians and variances
  • Correlation and simple linear regression: what the estimates and their confidence intervals mean

Before the course

Please install the following before the course starts:

  • R users: R and RStudio Desktop, plus the R package tidyverse (which includes ggplot2). A short list of additional packages will be shared before the course.
  • Python users: Python 3 and JupyterLab or Jupyter Notebook, plus the packages pandas, matplotlib, seaborn, plotnine and statsmodels.

Installation instructions will be sent in advance. All software is free and open source, and no paid licences or accounts are needed.

Learning commitment

The course includes three hours of live teaching each day for five days, alongside readings and other learning activities.

Once you have registered and paid, you will receive access to our Learning Management System (LMS) approximately two weeks before the course start date. Course materials, including pre-course readings, will be available here. Allow approximately 20 hours per week before the course to review the materials and complete readings and any pre-course tasks.

During the course week, you should allow approximately two to three hours per day for preparation and assignments, in addition to the live teaching sessions.

The course offers the opportunity to earn three ECTS credits. To earn a fourth credit, you will need to complete a post-course assignment involving approximately 25 hours of work.

Disclaimer

This course description may be subject to subsequent adaptations (e.g. taking into account new developments in the field, participant demands, group size, etc.). Registered participants will be informed at the time of change.

By registering for this course, you confirm that you possess the knowledge required to follow it. The instructor will not teach prerequisite items. If in doubt, please contact us before registering.