This is a supplementary resource for the workshop.
The live session is mainly hands-on, so this page provides extra background on data visualisation theory, interactive visualisation, Digital Humanities examples, and tools for further learning.
You do not need to read this before the workshop. It is designed as a reference you can return to before, during, or after the session.
In the workshop, we will focus on a practical web-based example using HTML, CSS, JavaScript, D3.js, Leaflet, and GitHub Pages. This resource gives some of the wider ideas behind those practical choices.
- How this resource fits the workshop
- What is data visualisation?
- Why visualise Digital Humanities data?
- The workshop example: people, places, and time
- A useful design question: what, why, and how?
- Data types and visual encodings
- Visual variables
- Maps, timelines, and linked views
- Interactivity in visualisation
- Humanities data: uncertainty, interpretation, and bias
- Design principles and common pitfalls
- Accessibility and inclusive design
- Tools for data visualisation
- Digital Humanities examples and inspiration
- Getting started with your own visualisation project
- Further reading
- License
In the workshop, we build a small interactive web visualisation using:
- HTML for the page structure;
- CSS for styling;
- JavaScript for interaction;
- D3.js for data-driven visualisation;
- Leaflet for interactive mapping;
- GitHub Pages for publishing.
The practical workshop focuses on a historical dataset from the University of Edinburgh records:
University of Edinburgh Alumni Collections
The live coding will show how a dataset can be loaded into a webpage, displayed on a map, and summarised as a simple timeline.
This page gives the wider context: why we visualise data, how visualisation design choices work, and how these ideas apply to Digital Humanities research.
Data visualisation is the practice of representing data using visual forms such as charts, maps, diagrams, timelines, networks, dashboards, and interactive interfaces.
Visualisation is a way of making patterns, relationships, uncertainty, and absences easier to inspect and discuss.
Good visualisation can help people:
- explore data;
- identify patterns;
- compare values;
- notice exceptions;
- communicate evidence;
- ask new questions;
- explain an argument;
- make a dataset more accessible to others.
The Royal Statistical Society Best Practices for Data Visualisation guide is a useful general introduction. It provides a view to visualisation as a technical and creative practice, involving choices about data, charts, perception, readability, annotation, colour, and communication.
Digital Humanities data often includes complex cultural, historical, spatial, textual, and archival material.
Visualisation can help researchers work with:
- people;
- places;
- dates and time periods;
- correspondence;
- journeys and movement;
- institutions;
- texts;
- networks;
- uncertainty;
- missing or partial records.
In humanities research, visualisation is a research method as much as it is a communication mode and output medium. What it offers as an expansion to written synthesis of complex information, is a way to engage further sense, interpretive modes, and flexibility for connecting themes and ideas.
A visualisation can help us ask:
- What patterns appear across time?
- Which places are represented or missing?
- Which people or groups are central?
- How do records cluster or disperse?
- What has been simplified by the data model?
- What assumptions were made during data cleaning?
- What histories become more visible?
- What histories remain hidden?
The workshop uses a historical dataset connected to University of Edinburgh records.
The live visualisation focuses on two common humanities dimensions:
| Dimension | Workshop example | Possible visual form |
|---|---|---|
| Place | Birthplace coordinates or study locations | Map |
| Time | Entry year or period of study | Timeline |
| People | Individual records | Map markers or data points |
| Counts | Number of records per year | Line chart or bar chart |
The current starter visualisation uses:
- Leaflet to show locations on a map;
- D3.js to group records by year;
- SVG to draw a timeline chart;
- popups to show additional information on map markers.
This is a useful workshop example because it connects three important questions:
- Where are people connected to?
- When do records appear?
- How can we move between individual records and aggregate patterns?
A helpful way to design a visualisation is to ask three questions:
| Question | Meaning | Workshop example |
|---|---|---|
| What? | What data do we have? | Records with dates, places, names, and metadata |
| Why? | What task or question are we supporting? | Explore where people came from and how entries changed over time |
| How? | How should the data be visually encoded? | Map markers for places, a timeline for years, popups for details |
This kind of thinking is associated with Tamara Munzner’s work on visualisation analysis and design:
Tamara Munzner — Visualization Analysis and Design
For a Digital Humanities project, the why question is especially important.
A visualisation for exploration may need interaction and detail.
A visualisation for communication may need annotation and a clearer narrative.
A visualisation for public engagement may need more context, accessibility, and explanation.
Before choosing a chart or map, it is helpful to identify the types of data you have.
| Data type | Meaning | Example | Possible encoding |
|---|---|---|---|
| Quantitative | Numeric values | Number of records per year | Position, length, size |
| Temporal | Dates or time periods | Entry year | Timeline, line chart |
| Geographic | Places or coordinates | Birthplace latitude/longitude | Map position |
| Categorical / nominal | Named categories | Institution, gender, subject, place name | Colour, shape, grouping |
| Ordinal | Ordered categories | Low, medium, high certainty | Ordered colour or size |
| Relational | Connections between things | Person-to-person or person-to-place links | Network diagram |
The workshop uses several of these:
- geographic data for the map;
- temporal data for the timeline;
- individual records for markers;
- aggregate counts for the chart.
Visual variables are the visual properties we use to encode data.
Common visual variables include:
- position;
- size;
- shape;
- colour hue;
- colour lightness;
- line width;
- texture;
- orientation;
- opacity.
For example:
| Data feature | Possible visual encoding |
|---|---|
| Entry year | x-position on a timeline |
| Number of records | y-position or line height |
| Birthplace | position on a map |
| Category | colour or shape |
| Uncertainty | opacity, outline, annotation, or separate category |
Figure 1. Visual variables describe how data can be encoded visually, such as through position, size, shape, colour, and texture.
Jacques Bertin’s work on visual variables and graphical semiology is foundational for thinking about how data becomes visual form.
Further reading:
- Jacques Bertin and cartographic semiology
- Mackinlay, 1986: Automating the design of graphical presentations of relational information
- Financial Times Visual Vocabulary
Figure 2. Mackinlay’s rankings compare the effectiveness of different encodings for different data types.
This workshop focuses on maps and timelines.
Maps are useful when place matters.
They can show:
- birthplaces;
- study locations;
- movement;
- institutional networks;
- regional patterns;
- coverage.
However, maps can also be misleading if the data is incomplete or uncertain.
A map may suggest precision even when the original record is vague. For example, a birthplace may be recorded as a town, region, or country rather than an exact coordinate.
When mapping humanities data, ask:
- How precise are the coordinates?
- Are the places modern or historical?
- Have place names changed?
- Are some records missing location data?
- Does the map over-emphasise geography when another view might be better?
- changes over time;
- clusters of activity;
- gaps in records;
- growth or decline;
- relationships between events and periods.
In the workshop code, D3 groups records by entry_year and counts how many records appear in each year.
A timeline can help us move from individual records to a wider historical pattern.
A linked view connects two or more visualisations.
For example:
- clicking a year on the timeline could filter the map;
- hovering over a marker could highlight a record in a table;
- selecting a region could update a chart;
- clicking a category could show only related people.
This is useful when no single chart can show everything clearly.
Interactivity allows viewers to explore a visualisation rather than only look at a fixed image.
Common interactions include:
| Interaction | What it does | Workshop relevance |
|---|---|---|
| Click | Select an item or open details | Click a map marker to show a popup |
| Hover | Show lightweight information | Hover over a chart point to see year/count |
| Zoom and pan | Move around a large view | Navigate the Leaflet map |
| Filter | Show a subset of the data | Filter by date, category, or location |
| Highlight | Emphasise selected items | Highlight records from a chosen year |
| Brushing and linking | Connect selections across views | Select a timeline range and update the map |
| Overview and detail | Show the whole dataset and local detail | Map overview plus popup detail |
Interactivity should have a purpose.
It is most useful when it helps the viewer:
- inspect details without cluttering the whole page;
- move between overview and detail;
- compare subsets;
- follow their own research question.
It is less useful when it adds complexity without improving understanding.
Humanities datasets often require interpretation before they can be visualised and as is the case for any dataset, pre-processing and tidying are core steps prior to analyses or explorations.
Historical records may include:
- missing values;
- inconsistent spelling;
- variant names;
- uncertain dates;
- ambiguous places;
- changing borders;
- incomplete institutional records;
- categories that reflect historical bias;
- digitisation or transcription errors.
For this workshop, useful questions include:
- Which records have coordinates?
- Which records do not?
- Which places are over-represented?
- Which years have many records?
- Which years have few or no records?
- What has been lost during data cleaning?
- What does the map make visible?
- What does the map make harder to see?
A useful way to think about this is:
Domain → Data and task abstraction → Visual encoding → Interaction and implementation
-
Start with the question
- What do you want the visualisation to help someone understand?
-
Know the data
- What fields/variables do you have?
- What is missing?
- What has been cleaned or transformed?
Some visual encodings are easier to read than others. Cleveland and McGill’s work on graphical perception showed that people tend to judge some visual properties more accurately than others, especially when comparing quantitative values. Position and length are usually easier to compare than area, angle, volume, or colour saturation.
This is why bar charts and line charts are often clearer than more decorative chart forms when precise comparison matters.
- Familiarity with domain and specificity
Domain knowledge also affects design choices. For example:
colours may carry different meanings in different disciplines; historical categories may need explanation; place names may be uncertain, contested, or historically variable; missing data may be meaningful rather than simply a technical problem.
This connects to the first layer of Munzner’s model: characterising the problem in the vocabulary of the domain before moving into technical design.
- Choose suitable encodings
- Use position and length for numeric comparison where possible (however this is not a universal principle).
- Use colour carefully, consider accessibility and where colour is applied, for instance with categories, where they become too numerous be careful not to overload with a colour encoding.
- Avoid making viewers decode too many visual meanings at once.
Note: For maps, tools such as ColorBrewer [https://colorbrewer2.org/#type=sequential&scheme=BuGn&n=3] can help with colour schemes designed for cartographic use.
For web-based visualisations, colour should also be considered alongside accessibility guidance, including sufficient contrast and not relying on colour alone.
-
Use labels and legends clearly
- Explain what colours, sizes, shapes, and axes mean.
-
Show uncertainty where relevant
- Use annotation, categories, opacity, or notes to explain uncertain data.
-
Avoid unnecessary clutter
- Not every data field needs to be visible at once.
Edward Tufte’s writing on “chartjunk” is often used to discuss visual elements that distract from, rather than clarify, the data. The point is not that visualisations must be plain, but that design choices should support meaning.
One solution is to separate views.
Instead of trying to show everything in one visualisation, consider:
a map for place; a timeline for time; a table for detailed records; filters for categories; popups for individual details; linked views for exploration.
This is especially relevant to interactive visualisation. Interaction can help reveal detail without placing everything on the screen at once.
Balance precision & expressiveness
- Design for the audience
- A domain expert, student, public visitor, and software developer may need different levels of explanation.
| Pitfall | Implications |
|---|---|
| Misleading axes | A chart can exaggerate or hide change |
| Too many colours | Colour becomes confusing rather than helpful |
| Missing labels | Viewers cannot interpret the chart |
| Over-precise maps | Points may imply certainty that the data does not support |
| Ignoring missing data | Absences may be historically meaningful |
| Visual clutter | Too much information can make patterns harder to see |
| Decorative effects | Visual style should not obscure the data |
| Unsupported claims | A visual pattern is not automatically an explanation |
Another common pitfall seen widely is starting with a chosen tool before considering audience, data and the task the visualisation needs to perform. Early reliance on a tool may end up driving the design and then backtracking to adapt rather than working with the research question.
Further reading:
A visualisation should be understandable by as many people as possible.
Accessibility is especially important for web-based visualisations because people may view them on different devices, with different needs, and with different assistive technologies.
Consider:
- readable text size;
- sufficient colour contrast;
- not relying on colour alone;
- clear labels and legends;
- keyboard access where possible;
- captions or descriptions for complex visualisations;
- alt text for images;
- plain-language summaries;
- providing the data or a table when appropriate.
For complex charts, maps, or diagrams, a short alt text may not be enough. A longer description near the visualisation can help explain what the viewer should notice.
Further reading:
- W3C Web Content Accessibility Guidelines WCAG 2.2
- W3C WAI: Complex images
- GOV.UK: Text descriptions for data visualisations
There are many ways to make visualisations. The right tool depends on your data, your audience, your skills, and your output.
| Tool | use cases |
|---|---|
| HTML | Structuring a web page |
| CSS | Styling a page |
| JavaScript | Adding data loading and interaction |
| D3.js | Custom data-driven visualisation on the web |
| Leaflet | Interactive web maps |
| GitHub Pages | Publishing a static website online |
D3 is useful when you need custom control over marks, scales, axes, layouts, and interactions. D3 has an expansive use case portfolio and can be used in many settings.
Leaflet is useful when the visualisation needs an interactive map.
| Tool | Language | Useful for |
|---|---|---|
| Matplotlib | Python | Static charts and publication figures |
| Seaborn | Python | Statistical charts |
| Plotly | Python / JavaScript / R | Interactive charts and dashboards |
| Bokeh | Python | Interactive browser-based visualisations |
| ggplot2 | R | Grammar-of-graphics charts |
| Tidyverse | R | Data cleaning, analysis, and visualisation |
| Observable Plot | JavaScript | Concise exploratory web visualisation |
| Vega-Lite | JSON / JavaScript | Declarative interactive graphics |
For this workshop, we are using a simple static webpage with HTML, CSS, JavaScript, D3, and Leaflet.
Larger projects may use web development frameworks. These are useful when a project needs reusable components, multiple pages, state management, or a more complex interface.
| Framework or library | Useful for |
|---|---|
| React | Building component-based user interfaces |
| Vue | Building approachable, flexible web interfaces |
| Svelte | Building compiled, component-based web interfaces |
| Observable Framework | Building data apps and reports with JavaScript and Markdown |
A framework is not always necessary. For a smaller projects plain HTML, CSS, JavaScript, D3, and Leaflet are easier to understand and work with.
No-code tools are useful for fast prototyping, teaching, and exploratory visualisation.
| Tool | Useful for |
|---|---|
| RAWGraphs | Turning tabular data into charts without coding |
| Tableau Public | Interactive dashboards and public visualisations |
| Flourish | Interactive stories, charts, and maps |
| Datawrapper | Clear charts, maps, and tables for publication |
| Figma | Designing interfaces, wireframes, prototypes, layout mockups, and visualisation concepts before coding |
| Charticulator | Custom chart layouts without traditional coding |
These tools can be a good route if the goal is to communicate quickly rather than build a fully custom web visualisation.
The following examples are useful for thinking about how visualisation can support humanities research.
Mapping the Republic of Letters is a major Digital Humanities project that explores correspondence networks across space and time.
It is useful for thinking about:
- correspondence;
- networks;
- geography;
- historical movement;
- distant reading;
- the relationship between maps and archives.
Kindred Britain is an interactive network visualisation of relationships among thousands of British historical figures.
It is useful for thinking about:
- networks;
- biography;
- cultural history;
- interaction;
- public-facing Digital Humanities design.
Further information:
Kindred Britain notes and credits
W. E. B. Du Bois and collaborators created powerful hand-drawn data visualisations for the 1900 Paris Exposition.
These works are useful for thinking about:
- visualisation and social justice;
- design and argument;
- colour and form;
- historical data storytelling;
- visualisation before computers.
Library of Congress: W. E. B. Du Bois data visualizations
Dear Data is a hand-drawn data project by Giorgia Lupi and Stefanie Posavec.
It is useful for thinking about:
- personal data;
- drawing as analysis;
- slow visualisation;
- data as lived experience.
Data Sketches by Nadieh Bremer and Shirley Wu is a collection of creative web-based visualisation experiments.
It is useful for thinking about:
- expressive visualisation;
- interaction;
- storytelling;
- custom web design;
- the creative possibilities of D3.
When starting your own visualisation, try this sequence.
Ask:
What do I want someone to understand, explore, or question?
Ask:
What fields/variables do I have?
What types of variables are they?
What do I want to ask of the data?
Who is my audience?
What is missing?
What has been cleaned or transformed?
Ask:
Which fields are dates?
Which fields are places?
Which fields are categories?
Which fields are numbers?
Which fields describe relationships?
| If your question is about... | Think about... |
|---|---|
| Change over time | Timeline, line chart, area chart |
| Place | Map |
| Relationships | Network diagram/Sankeys/Connections |
| Categories | Bar chart, grouped chart |
| Parts of a whole | Stacked bar chart, treemap, carefully used pie chart |
| Distributions | Histogram, dot plot, box plot |
| Individual records plus detail | Map markers, table, popups, linked views |
A quick sketch can help you decide:
- what should be visible first;
- what should be interactive;
- where labels should go;
- whether a map is actually needed;
- whether a chart is too crowded.
Further reading:
Start with a simple version.
For example:
Load the cleaned data → show one map marker → show all map markers → add popups → add a timeline → link the views
A small working version is easier to improve than a complex broken version.
A visualisation is stronger when it includes:
- a title;
- labels;
- a short explanation;
- a note about the data source;
- a note about missing or uncertain data;
- accessible text descriptions;
- clear instructions for interaction.
- Royal Statistical Society: Best Practices for Data Visualisation
- Tamara Munzner — Visualization Analysis and Design
- Tamara Munzner — Research group
- Alberto Cairo — The Truthful Art
- Edward Tufte — Chartjunk
- John Mackinlay, 1986 — Automating the design of graphical presentations
- Johanna Drucker - Digital Humanities Quarterly - Humanities Approaches to Graphical Display
- Financial Times Visual Vocabulary
- Data Visualisation Catalogue
- Chart Maker Directory
- Datawrapper Academy
- Mapping the Republic of Letters
- Kindred Britain
- Kindred Britain notes and credits
- W. E. B. Du Bois data visualizations, Library of Congress
- Dear Data
- Data Sketches
- UCLAB
- uw Interactive Data Lab
- VisHub - University of Edinburgh
- Data Visualisation Society
- giCentre
- Georgia Tech Visualisation Lab
- MIT visualisation Lab
- Nightingale: Journal of the Data Visualization Society
- Data Visualization Society
- The Pudding
- Visual Cinnamon
- FlowingData
This workshop resource is intended for teaching and learning.
Workshop resource created for the DH-RSE Summer School, visualisation.


