I've written a bit about this project on Medium and the narrative chart visualization that kicked this off is here: https://jeffreylancaster.github.io/game-of-thrones/map/.
A visualization of when each character is on-screen throughout the show, where they are, with whom they are, when they die, and more
A list of other films in which Game of Thrones costars, well, costar
A matrix visualization of frequency of other films in which Game of Thrones costars, well, costar
A visualization of how long each character has been on-screen throughout the show
A visualization of how much of a character's time on screen is spent in each season
A force-directed visualization of characters on-screen together throughout the show
A matrix visualization of how often characters are on screen together
A visualization of the various locations characters visit and how much of their time they spend there
Builds keyValues.json
from episodes.json
by adding y-values and additional location-specific information.
Builds the visualization using d3.js.
Outputs the data for keyValues.json
.
Outputs the Game of Thrones narrative chart.
{
"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": true,
"greensight": true,
"warg": true,
"characters": [
{
"name": "string",
"title": "Hand | Khal | Khaleesi | King",
"alive": false,
"born": false,
"weapon": [ // just object if single value
{
"action": "string",
"name": "string"
}
],
"sex": [
"with": [ // just string if single value
"string"
],
"when": "string",
"type": "string"
],
"married": {
"to": "string",
"when": "string",
"type": "string",
"consummated": true
},
"mannerOfDeath": "string",
"killedBy": [ // just string if single value
"string"
]
},
...
]
},
...
]
},
...
]
}
{
"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": true,
"kingsguard": true,
"parents": [
"string",
...
],
"parentOf": [
"string",
...
],
"guardianOf": [
"string",
...
],
"guardedBy": [
"string",
...
],
"siblings": [
"string",
...
],
"marriedEngaged": [
"string",
...
],
"allies":[
"string",
...
],
"abducted":[
"string",
...
],
"killed": [
"string",
...
],
"killedBy": [
"string",
...
],
"serves": [
"string",
...
]
"servedBy": [
"string",
...
]
},
...
]
}
{
"group": [
{
"name": "string",
"characters": [
"string",
...
]
},
...
]
}
{
"include":[
{
"name": "string",
"include": true
},
...
]
}
{
"regions":[
{
"location": "string",
"subLocation": [
"string",
...
]
},
...
]
}