Game of Thrones Datasets and Visualizations
About this Project
- View all visualizations at jeffreylancaster.github.io/game-of-thrones
Articles on Medium
- "The Ultimate Game of Thrones Dataset"
- "32 Game of Thrones Data Visualizations"
- "19 More Game of Thrones Data Visualizations"
- "Introducing Game of Thrones Script Search"
Data Visualization Episode Recaps
- "Winterfell" (Season 8, Episode 1)
- "A Knight of the Seven Kingdoms" (Season 8, Episode 2)
- "The Long Night" (Season 8, Episode 3)
- "The Last of the Starks" (Season 8, Episode 4)
Interfaces
episode/
Episode Viewer: - A compilation of episode-specific data visualizations, including aggregate character time on screen, wordcount, languages, locations, and more.
View the visualizations || Explore the code
search/mongodb/
Script Search: - A simple search interface to explore the words spoken on Game of Thrones, including who says each line and text and translations in Dothraki, Valyrian, etc.
Search the database || Explore the code
Visualizations
Narrative Charts
map/
Narrative Chart: - A visualization of when each character is on-screen throughout the show, where they are, with whom they are, when they die, and more.
View the visualization || Explore the codeprocess.html
: BuildskeyValues.json
fromepisodes.json
by adding y-values and additional location-specific information and outputs the data forkeyValues.json
.index.html
: Builds the visualization using d3.js and outputs the Game of Thrones narrative chart.
Note: map contains spoilers.
heatmap/
Heatmap / Flattened Narrative Chart: - A visualization of how many characters are in locations throughout the show.
View the visualization || Explore the code- includes a
calcData
parameter that pre-processes the data fordata/heatmap.json
.
- includes a
Inspired by Hubble Image of Galaxy Cluster Converted Into Sound.
Screen Time
scenes-character/
Characters On Screen: - A visualization of when each character is on screen throughout the entire show.
View the visualization || Explore the code
scenes-location/
Locations On Screen: - A visualization of when each location is shown on screen throughout the show.
View the visualization || Explore the code
scenes-sublocation/
More-Specific Locations On Screen: - A visualization of when each more-specific location is shown on screen throughout the show.
View the visualization || Explore the code
scenes-special/
Special Scenes On Screen: - A visualization of when special scenes (death, sex, flashback, warging, greensight, etc.) are shown on screen throughout the show.
View the visualization || Explore the code
bubble-death/
Deaths On Screen: - A visualization of when deaths happen throughout the show.
View the visualization || Explore the code
scenes-weapons/
Weapons On Screen: - A visualization of when weapons show up on screen throughout the show.
View the visualization || Explore the code
scenes-house/
Houses On Screen: - A visualization of when various Houses are represented throughout the show.
View the visualization || Explore the code
characters-per-scene/
Number of Characters Per Scene: - A visualization of how many characters are on-screen at one time.
View the visualization || Explore the code
bubble-character/
Continuous Screen Time: - A visualization where each bubble represents a character and the size of the bubble is continuous time on screen.
View the visualization || Explore the code
Circles are color-coded by House.
Cumulative Time
duration-character/
Supercut Duration: - A visualization of how long each character has been on-screen throughout the show.
View the visualization || Explore the code
duration-per-season/
Screen Time Per Season: - A visualization of how long each character has been on-screen in each season of the show.
View the visualization || Explore the code
episode-character/
Character On Screen Time Per Episode: - A visualization of how long each character has been on-screen in each episode throughout the show.
View the visualization || Explore the code
Based on Harry Stevens's Linear Regression for Scatter Plot.
duration-per-location/
Screen Time Per Location: - A visualization of how long has been spent in each location throughout the show.
View the visualization || Explore the code
duration-per-sublocation/
Screen Time Per More-Specific Location: - A visualization of how long has been spent in each more-specific location throughout the show.
View the visualization || Explore the code
duration-percent/
Character Time Percentage Per Season: - A visualization of how much of a character's time on screen is spent in each season.
View the visualization || Explore the code
duration-treemap/
Overall Character Time (Treemap): - A visualization of how long each character has been on screen throughout the show in proportion to all other characters.
View the visualization || Explore the code
Based on takayuki's Treemap in d3 v4.
duration-house/
Screen Time Per House: - A visualization of how long each House has been on screen throughout the show.
View the visualization || Explore the code
region-percent/
Travelling Characters: - A visualization of the various locations characters visit and how much of their time they spend there.
View the visualization || Explore the code
location-per-episode/
Screen Time in Locations Per Episode: - A visualization of how long is spent in each location during each episode.
View the visualization || Explore the code
duration-gender-season/
Screen Time Per Gender By Season: - A visualization of how much time women and men are on screen during each season.
View the visualization || Explore the code
Based on wpoely86's Diverging Stacked Bar Chart.
duration-gender-episode/
Screen Time Per Gender By Episode: - A visualization of how much time women and men are on screen during each episode.
View the visualization || Explore the code
Based on wpoely86's Diverging Stacked Bar Chart.
duration-gender-percent/
Screen Time Per Gender By Episode (Percent): - A visualization of how much time women and men are on screen during each episode as percentages of the episode length.
View the visualization || Explore the code
Based on wpoely86's Diverging Stacked Bar Chart.
Wordcount & Language
wordcount-character/
Character Wordcount: - A visualization of how many words each character says throughout the show.
View the visualization || Explore the code
wordcount-per-season/
Character Wordcount By Season: - A visualization of how many words each character says during each season.
View the visualization || Explore the code
wordcount-house/
Wordcount Per House: - A visualization of how many words members of each House say throughout the show.
View the visualization || Explore the code
wordcount-gender-season/
Wordcount Per Gender By Season: - A visualization of how many words women and men say during each season.
View the visualization || Explore the code
Based on wpoely86's Diverging Stacked Bar Chart.
wordcount-gender-episode/
Wordcount Per Gender By Episode: - A visualization of how many words women and men say during each episode.
View the visualization || Explore the code
Based on wpoely86's Diverging Stacked Bar Chart.
wordcount-gender-percent/
Wordcount Per Gender By Episode (Percent): - A visualization of how many words women and men say during each episode as a percentage of the total words spoken per episode.
View the visualization || Explore the code
Based on wpoely86's Diverging Stacked Bar Chart.
language-character/
Languages Spoken Per Character: - A visualization of the languages spoken by characters throughout the show.
View the visualization || Explore the code
language-episode
Languages Spoken Per Episode: - A visualization of the languages spoken by characters throughout each episode.
View the visualization || Explore the code
Co-Occurrence
matrix/
Character Co-Occurrence Matrix: - A matrix visualization of how often characters are on screen together.
View the visualization || Explore the code
force-directed/
Force-Directed On-Screen Co-Occurrence: - A force-directed visualization of characters on-screen together throughout the show.
View the visualization || Explore the code
Based on heybignick's d3 v4 force-directed graph.
matrix-chord/
Chord Diagram of On-Screen Co-Occurrence: - A chord diagram visualization where chord width represents time spent on-screen together by the conected characters.
View the visualization || Explore the code
Based on HenryLau's chord diagram on JSFiddle.
Relationships
relations-force/
Force-Directed Relationships: - A force-directed visualization of various relationships between characters (e.g. parents, spouses, who killed whom).
View the visualization || Explore the code
Parent-child (solid gray), spouse (dashed blue), and killed by (solid black arrow) relationships shown. Based on Mike Bostock's Labeled Force Layout.
relations-circle/
Circle-based Relationships: - A circle-based visualization of various relationships between characters (e.g. parents, spouses, who killed whom).
View the visualization || Explore the code
Parent-child (solid gray), spouse (dashed blue), and killed by (solid black arrow) relationships shown. Based on an HBO infographic.
relations-force-sex/
Force-Directed Sexual Relationships: - A force-directed visualization of sexual relationships between characters.
View the visualization || Explore the code
Based on a Cool Material infographic.
Actor Relationships
costars-list/
Costars List: - A list of other films in which Game of Thrones costars, well, costar.
View the list || Explore the code
Data last pulled following Season 7.
costars-matrix/
Costars Matrix: - A matrix visualization of frequency of other films in which Game of Thrones costars, well, costar.
View the visualization || Explore the code
Data last pulled following Season 7. Based on Mike Bostock's Les MisΓ©rables Co-occurrence.
Lands of Ice and Fire Geography
opening-locations-force/
Force-Directed Network of Opening Sequence Locations: - A force-directed network visualization of the Game of Thrones opening sequence locations.
View the visualization || Explore the code
Based on heybignick's d3 v4 force-directed graph.
opening-locations-fixed/
Geographic Network of Opening Sequence Locations: - A geographic network visualization of the Game of Thrones opening sequence locations.
View the visualization || Explore the code
Based on the A Song of Ice and Fire Wiki geography.
geography-locations/
Locations on a Globe: - Various Game of Thrones locations displayed on a globe.
View the visualization || Explore the code
Adapted from Jason Davies' "Rotate the World".
opening-seq-arcs/
Opening Sequence Locations: - A geographic visualization of the Game of Thrones opening sequence locations on a globe.
View the visualization || Explore the code
Adapted from Andrew Mollica's "World Tour along Flying Arcs".
opening-seq-matrix/
Opening Sequence Locations (with Underlying Matrix): - A geographic visualization of the Game of Thrones opening sequence locations on a globe with an underlying matrix showing the frequency of opening sequence paths between locations.
View the visualization || Explore the code
Adapted from Andrew Mollica's "World Tour along Flying Arcs".
character-arcs/
Character Travel Paths: - A geographic visualization of the paths characters have travelled in the Lands of Ice and Fire.
View the visualization || Explore the code
Adapted from Andrew Mollica's "World Tour along Flying Arcs".
Prediction
episode-character-scatter/
Simple Cluster Analysis (for Prediction?): - A simple cluster analysis plotting the slope and y-intercept of the linear regression of time spent on-screen in each episode. We'll see whether it's predictive at all.
View the visualization || Explore the code
Adapted from Harry Stevens's Linear Regression for Scatter Plot.
Other People's
- Timelapse animation from Type A Media
- Viz of Thrones: a single interface by Adam Groner, including a geographic map with characters in locations, sex count, death count, scenes in which characters show up, and more
- GraphXR demo from Kineviz
- Character travels through various regions by Lia Petronio
- Character Social Network by Lia Petronio
Data
data/episodes.json
{
"episodes": [
{
"seasonNum": integer,
"episodeNum": integer,
"episodeTitle": "string", // from imdb
"episodeLink": "string", // endpoint: www.imdb.com
"episodeAirDate": "string", // from imdb
"episodeDescription": "string", // from imdb
"openingSequenceLocations": [
"string",
...
],
"scenes":[
{
"sceneStart": "string",
"sceneEnd": "string",
"location": "string",
"subLocation": "string",
"altLocation": "string",
"flashback": Boolean,
"greensight": Boolean,
"warg": Boolean,
"characters": [
{
"name": "string",
"title": "Hand | Khal | Khaleesi | King",
"alive": Boolean,
"born": Boolean,
"weapon": [
{
"action": "string",
"name": "string"
}
],
"sex": {
"with": [
"string"
],
"when": "string",
"type": "string"
},
"married": {
"to": "string",
"when": "string",
"type": "string",
"consummated": Boolean
},
"mannerOfDeath": "string",
"killedBy": [
"string"
]
},
...
]
},
...
]
},
...
]
}
data/characters.json
{
"characters":[
{
"characterName": "string",
"characterLink": "string", // endpoint: www.imdb.com
"characterImageThumb": "string",
"characterImageFull": "string",
"actorName": "string", // OR actors: []
"actors": [
{
"actorName":"Richard Dormer",
"actorLink":"/name/nm0233807/",
"seasonsActive":[
integer,
...
]
},
...
],
"actorLink": "string", // endpoint: www.imdb.com
"houseName": [
"string", // just string if single value
...
],
"nickname": "string",
"royal": Boolean,
"kingsguard": Boolean,
"parents": [
"string",
...
],
"parentOf": [
"string",
...
],
"guardianOf": [
"string",
...
],
"guardedBy": [
"string",
...
],
"siblings": [
"string",
...
],
"marriedEngaged": [
"string",
...
],
"allies":[
"string",
...
],
"abducted":[
"string",
...
],
"killed": [
"string",
...
],
"killedBy": [
"string",
...
],
"serves": [
"string",
...
]
"servedBy": [
"string",
...
]
},
...
]
}
data/characters-groups.json
{
"group": [
{
"name": "string",
"characters": [
"string",
...
]
},
...
]
}
data/characters-include.json
{
"include":[
{
"name": "string",
"include": Boolean
},
...
]
}
data/locations.json
{
"regions":[
{
"location": "string",
"subLocation": [
"string",
...
]
},
...
]
}
data/characters-gender-all.json
{
"male": [
"string",
...
],
"female": [
"string",
...
]
}
data/characters-gender.json
{
"gender": [
{
"gender":"male",
"characters": [
"string",
...
]
},
{
"gender":"female",
"characters": [
"string",
...
]
}
]
}
data/colors.json
{
"colors": [
{
"name": "string",
"hexadecimal": "string",
"webSafe": "string",
"basic": "string",
"rgb": "string",
"class": [
"string"
],
"css": {
"stroke-width": "string",
"stroke-dasharray": "string",
"stroke-linecap": "string"
}
},
...
]
}
data/costars.json
{
"IMDB_ID": {
"imdb_id": "string",
"title": "string",
"year": "string",
"actors": [
{
"personID": "string",
"actorName": "string",
"characterName": "string"
},
...
]
},
...
}
data/heatmap.json
A pre-processed file for the heatmap/
visualization:
[
{
"name": "string",
"count": [
{
"x1": integer,
"x2": integer,
"z": integer
},
...
]
},
...
]
data/keyValues.json
A pre-processed file for the map/
visualization:
{
"characters": {
"CharacterName": {
"key": "string",
"values": [
{
"s": integer,
"e": integer,
"y": integer
},
...
]
},
...
},
"episodes": [
{
"seasonNum": integer,
"length": integer,
"shift": integer,
"episodes":[
{
"episodeNum": integer,
"length": integer,
"episodeTitle": "string",
"shift": integer
},
...
]
},
...
],
"locations": [
{
"name": "string",
"max": integer,
"middle": integer
},
...
],
"sublocations": [
{
"name": "string",
"max": integer,
"middle": integer
},
...
]
}
data/lands-of-ice-and-fire.json
A GeoJSON file for geographic visualizations.
// It's better to just go look at the file if you're curious.
data/opening-locations.json
A data file for the opening-locations-fixed/
visualization:
{
"note": "string",
"locations": [
{
"name": "string",
"fx": float,
"fy": float
},
...
]
}
data/wordcount-gender.json
{
"male": [
"string",
...
],
"female": [
"string",
...
],
"crowd": [
"string",
...
]
}
data/wordcount-synonyms.json
A working file to rename characters in the script.
{
"synonyms": [
{
"accepted": "string",
"alt": [
"string",
...
]
},
...
],
"groups": [
"string",
...
],
"others": [
"string",
...
]
}
data/wordcount.json
{
"count": [
{
"episodeAlt": "string",
"seasonNum": integer,
"episodeNum": integer,
"episodeTitle": "string",
"text": [
{
"name": "string",
"count": integer,
"lang": "string", // optional
"type": "string" // optional
},
...
]
},
...
]
}
data/script-bag-of-words.json
{
"count": [
{
"episodeAlt": "string",
"seasonNum": integer,
"episodeNum": integer,
"episodeTitle": "string",
"text": [
{
"name": "string",
"text": "string",
"lang": "string", // optional
"translation": "string", //optional
"type": "string" // optional
},
...
]
},
...
]
}
Use, Licensing, Attribution
Feel free to take an use this data however you'd like. It's provided as is, is a creative work, and is probably not perfectly accurate.
I only ask that you cite this repository if you do post/publish/share something you make using the data, and that you let me know (on Github or by email) about what you've made.