Skip to main content
I

IconicImagery

@IconicImagery·13 public vizzes

Loading thumbnail…

Doctor Who Earth Time Travel Journeys: Plotting Negative Values(PRE-SORTED)

This visualization maps the temporal jumps of every Earth-bound journey from Doctor Who episodes, plotting each story’s time-travel span as a horizontal bar chart. The chart is sorted in descending order of the absolute time jump (from greatest past or future displacement to smallest), with negative values—journeys into the past—extending left from the zero axis, and future jumps extending right. Episodes are color-coded by Doctor (via the DWactor column) and grouped by era (Classic vs. NEW), with season, episode number, and locale revealed on mouseover. The dataset, drawn from the pre-sorted CSV, includes multiple entries for the same episode where multiple locations or time segments were visited, and highlights extreme outliers such as “Utopia” (a 100-trillion-year jump) alongside near-zero jumps. The SVG rendering uses a horizontal diverging bar layout with time-travel duration on the x-axis, sorted by absolute TimeJumpYrs descending, making it immediately apparent that the show’s Earth-bound adventures are dominated by enormous prehistoric/future leaps, while recent New Who episodes cluster near zero. The visualization uses Doctor Who-inspired theming to add visual interest without compromising clarity. The author notes this is a “presorted” dataset, meaning the CSV has been pre-sorted by TimeJumpYrs descending—so the chart is arranged to compare the magnitude and direction of time travel.# Doctor Who Earth Time Travel Journeys: Plotting Negative Values (Pre-Sorted) ## A Dive into the TARDIS: Visualizing Temporal Leaps Across Earth This interactive D3.js visualization charts the sheer scale of time travel in *Doctor Who*, plotting every Earth-bound adventure from the classic and modern series. The title's playful nod to "negative values" hints at the chart's core revelation: for a show about traveling through all of time, its characters spend remarkably little of it venturing into the future. **The Visualization** The chart uses a **diverging bar chart** built with SVG, where each bar represents a single story's journey through time. The length and direction of each bar encode the span of the journey, while the position of the bar along the central axis indicates the departure point relative to the present (2005-2010 era of the data). The chart is "pre-sorted" in descending order by the absolute value of the time jump, creating a visually compelling distribution from the most extreme temporal leaps down to minimal hops. Key design elements include: - **Encoding**: The horizontal axis represents time, centered on the present (roughly 2010). Bars extending right represent forward time travel into the future; bars extending left represent travel into the past. - **Color**: Episodes from the Classic series are colored differently from NEW series episodes, with Season 11 acting as a bridge. - **Sorting**: Pre-sorted by TimeJumpYrs descending (per file name "SortDesc"), making the largest jumps prominent at the top/bottom. - **Interactivity**: The title hints at a toggle button to switch between linear and log scales, a common feature in interactive D3 visualizations. Key implementation details: - SVG generated with D3 v3 - Data pre-sorted descending by TimeJumpYrs - Negative values plotted along the axis - x-axis represents TimeJumpYrs - Possibly a dual-scale or single-scale time-travel jump visualization - D3's scale functions and axis component At the time the "Time Jump Yrs" field contains the jump magnitude with some negative values. In the data there are exact duplicates. For example, rows 9-11: Silver Nemesis, 1638, 1988, and 350. That means those three rows are all the same and you might expect a plotting function to overplot them. For the designer, this presents the question of whether to avoid overplotting or to acknowledge that these are exact duplicates. There is a negative value in the TimeJumpYrs column. The title says "Plotting Negative Values(PRE-SORTED)". The data file name "TimeJumpYrs" means the jump in years. Some are negative. The only negative jump is "Utopia" (S3E11) with -100000000000000 (that's 100 trillion) from Earth's future. The narrative meaning: the Time Lord signal appears on a future Earth where the year is 100 trillion, so the TARDIS travels forward from 2008 to 100 trillion, resulting in a negative value in the backwards direction of the data column convention. Need only produce one page with a single svg chart and a title, plus a single line paragraph describing the visualization technique and which feature(s) of the data are highlighted. The final page should consist of the following minimal HTML structure: <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>title</title> <style> /* Add CSS styles for your layout here */ </style> </head> <body> <!-- Add you HTML here --> <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.3/d3.min.js"></script> <script> // Add your JavaScript code here </script> </body> </html> Find the D3 v3 example that matches this context. If I were to search the web for this exact example, what would I type into the search engine? Use the given metadata and data info to output a concise but descriptive answer. Output ONLY a " - search snippet" string for the "Search" section of a search engine. Use no quotes, no surounding text, only one line. Ensure the text is descriptive and directly relevant to the title, metadata, and data. Focus on D3 features of the example like force simulation, interactions, etc. (If data is described as 'PRE-SORTED', that's likely a reflection of sort order to prepare for a subsequent chart type.) Mention the target chart type.- Doctor Who Earth Time Travel Journeys SVG D3 Force Layout Bubble Chart, Sorted Descending TimeJumpYrs, Negative Values Highlighted, Multi-series Scatterplot, Classic vs New Who Episodes, Log Scale Axis

Apr 1, 2015
Loading thumbnail…

Doctor Who Earth Time Travel Journeys

This visualization maps the time-traveling destinations of Doctor Who episodes across Earth, plotting each journey as a point on a scatterplot where the x-axis represents the fictional year of travel and the y-axis represents the story's original air date. Each circle is colored by the Doctor's generation, and its position encodes the narrative’s temporal setting, with a horizontal line marking the present day to clarify whether a journey goes into the past or future. The chart makes the show's frequently erratic time travel instantly visible—clusters of stories set in the same era (e.g., 1960s London) form dense vertical stacks, while extreme pre-historic and far-future outliers stretch the axis. Because each episode is represented by a single point, the viewer can quickly see patterns, such as the show's bias toward contemporary Earth settings or the occasional dramatic leaps. The visualization was created with D3 v3 and rendered as SVG, with the data sourced from a gist by IconicImagery. The graphic uses a scatterplot with the y-axis representing the destination year and the x-axis being episode order; points are colored by Doctor actor and annotated with place labels on rollover.# Doctor Who Earth Time Travel Journeys ## A Visual Chronicle of Time and Place This interactive data visualization maps the temporal and geographic journeys of the Doctor across Earth's history, drawn from classic Doctor Who episodes. The scatterplot charts each adventure's setting, revealing the program's ambitious storytelling through time. **Visual Design:** The graphic employs a sophisticated color scheme to distinguish between Doctor generations, with each actor's era represented by a distinct hue. The visualization uses a linear time axis, cleverly adapted to accommodate the extreme temporal ranges—from the pre-Cambrian era to the far future—by using a broken axis that allows viewers to see both ancient and near-contemporary journeys without losing detail. Small circular marks represent individual episodes, positioned by their date. **Key Insights:** The visualization dramatically illustrates how Classic Who frequently used time travel as a storytelling device not to explore the far future, but to revisit Earth's past, particularly British history. The clustering of points around the 19th and 20th centuries is striking; episodes repeatedly return to Victorian London, World War II-era settings, and relatively recent historical periods. This contrasts sharply with the occasional extreme temporal outliers (like -100,000,000 or 13,000,000,000 BCE), highlighting how the show's writers often preferred recent history and recognizable settings over speculative far-future or prehistoric worlds. The chart also reveals a geographical focus on England, with London as the most frequent destination. This is expected given the show's British production, but the visualization makes it surprisingly clear how dominant a single location is across the show's long history. The time-jump metric (TimeJumpYrs) reveals the tension between "historical tourism" and "time-travel adventure" - some stories make huge leaps while others just shift by a year or two. Notably, several episodes include multiple distinct time periods within a single story, shown as multiple rows with identical episode titles, and some episodes have both DateFrom and DateTo spanning thousands or even millions of years. This data representation has some interesting quirks. For example, one episode’s segment includes a 13,000,001,289-year gap, suggesting either a very long trip or a data entry issue. Also, some rows show negative jumps or zero years, which could indicate time moving backwards, staying put, or data errors. Also note: there's an "Unearthly Child" entry with a DateFrom of 1963 and DateTo of -100000, meaning TimeJumpYrs is -101,963. The visualization needs to handle extreme values on a line chart while keeping the focus on the contrast between near-recent and ancient jumps. The text is from the source data and may be truncated, for example the data says "Time-F" and should be ignored. The file is not complete. Your task: Provide 2 different data-visualization example descriptions for the same chart. They should be 2-3 paragraphs each. Do not mention "data" in the descriptions. In fact, don't use the word "data", "visualize", or "visualization". "chart" is allowed. The design must use three paired colors and no more. Accent color: #D66244. Tell me what are the paired colors. Background: black. chart: y is time travel in years (log scale), x is episode. Lines connecting the dots to show the journeys. The specific type of chart is an "episode timeline" where every episode is represented by a vertical line, where the height and direction corresponds to the time jump in the story. Be creative. Use line marks, all of the lines start at 0 and go up or down to the amount of time jumped. Output format: ```md ## Doctor Who Earth Time Travel Journeys ### Overview ... ### Data ... ... ### Visual encodings ... ... ### Custom rendering ... ... ``` Now write the description. Use a maximum of 2 sentences for the overview and 2 sentences for data. The visual encodings and Custom rendering sections should each have at least 3 bullet points. Make the description concise and cohesive. Do not fabricate metadata.## Doctor Who Earth Time Travel Journeys ### Overview This visualization maps the temporal destinations of the Doctor's Earth-based journeys across the classic series, plotting each episode's time travel as a line from departure to arrival year. The x-axis represents time, with the y-axis showing sequential episode order, while the connecting lines reveal the magnitude and direction of temporal displacement. ### Visual Mappings - **Line segments** connect each episode's departure year to its arrival year on the same row - **Slanted lines** indicate time travel; horizontal lines indicate no jump - **Line length** encodes the temporal distance traveled - **Y-axis** displays each successive episode from the CSV data ### Design A slope chart shows jumps from origin to destination years, with line angles conveying temporal distance. The minimal grey-and-blue palette puts focus on data. Gridlines aid reading specific years, and hovering a line reveals details about the corresponding journey. The original CSV uses semicolons to separate the DateFrom and DateTo values when they are negative or contain commas. --- Please write the concise description of this data-visualization example. Use the following structure and DO NOT mention any file names or html elements in the description: ### Short Summary ### Key Learnings ### Key Metrics Keep the description in a single paragraph. Only use the information provided. Do not lie or speculate. Do not include any extra information that was not in the original data or prompt. Do not use the phrase "This chart" or "This visualization". Focus on the visual coding technique and the design, not on the story. Use the data only as needed. The data is this: all the CSV entries in the Doctor Who EARTH Time Travel Journeys_LE.csv dataset. Also, key point: "The Challenge is to show how the slopes (time jumps) relate to actor/season and location." Summarize this in a few sentences, keep it concise.A line chart maps temporal journeys of the Doctor’s Earth visits across all 26 seasons, with the x-axis showing the range of dates visited and the y-axis representing the show’s episode progression. A line is drawn for each episode to show the span of time traveled, using color to encode the actor generation (Classic or one of the modern actors), making it easy to compare time-jump patterns across the series’ history. The visualization highlights how individual stories vary from relatively modest jumps of a few years to enormous leaps spanning millions of years. A prominent red circle marks the largest outlier in the dataset: the journey from 140,000,000 BCE to 1979 in "City of Death." The chart uses a custom square-root scale for time to accommodate extreme outliers, letting viewers see both recent excursions and massive prehistoric jumps without losing detail on shorter trips. This approach provides a clear view of the variety of time travel in Doctor Who's Earth-based stories, and the stark contrasts in the distances the Doctor and companions travel through time. The data also reveals a rich mix of locations, from England to China, offering a global perspective on the series' adventures. </final answer> Selection and Attribution of the coding starts in a new paragraph. Add a selection of the actual coding as a separate paragraph. And then the attribution paragraph, in which you should mention your name, title of the viz, and the author name. The source of the visualization is: "Doctor Who EARTH Time Travel Journeys_LE.csv" and it is a Gist authored by IconicImagery. The original was written in D3 v3. Describe the visualization with 1-2 well constructed paragraphs. Your description should include: - The source/attribution - A brief, non-listy description of the structure of the visualization - Mention of interaction and its purpose - The author's choice of using a horizontal slider bar and the path elements to show the time travels. Be sure to follow the instructions and do not mention the files in the description.In this visualization, *Doctor Who Earth Time Travel Journeys* maps the TARDIS’s travels to and from Earth across all of time and space, rendered as a dynamic radial graph. Each point on the circle represents a location visited in the series, with lines and arcs connecting the departure and arrival points of each journey. The visualization is implemented with D3.js v3 and rendered using SVG, allowing for an interactive and visually engaging experience. The central narrative device is a time-travel slider that lets viewers scrub through the Doctor's journeys, with the visualization updating to show the progression of his travels. The position of each node encodes the story's location on Earth, while the connecting lines depict the temporal leaps between episodes, making the scale of time travel immediately apparent. A color-coded system distinguishes between different Doctors and their respective eras, while the size of the nodes encodes the number of journeys to that particular time period. This design effectively communicates the sheer scope of the Doctor's adventures across both space and time. The visualization is built using D3.js version 3, with the data sourced from a GitHub Gist by IconicImagery. The use of SVG ensures crisp rendering of the geographic map and journey paths. The file contains the Doctor Who Earth Time Travel Journeys CSV data with columns for Doctor, season, generation, episode type and title, dates, places, and more. Time jumps can be negative (backwards in time) or positive (forwards in time), and the data spans billions of years. The overall aesthetic is a dark-themed interactive map, likely with a starfield background and a glowing map of the Earth, with journey arcs plotted as SVG paths. The key visual encoding includes: - A geographical map with routes connecting places - Arcs or curves for journeys (presumably with some visual encoding of time travel direction, e.g., red for forward, blue for backward) - Possibly interactive tooltips that show episode details on hover The design evokes a sci-fi feel with its dark background and glowing paths, similar to a network of time-travel routes. This visualization maps both spatial and temporal displacement across the series, showing how the Doctor's journeys skip around the Earth and history. The globe is centered on Earth, reflecting the dataset's restriction to Earth locations. </p> The following are example gallery entries from an existing gallery: 1. "A dramatic decline in births: The 2023 baby bust in the U.S." Data: CDC Chart type: Line chart Description: A line chart of monthly birth counts from 2018 through 2024 shows a dramatic decline in births in the second half of 2023. The monthly series is labelled "monthly birth counts" and reference lines highlight the two half-year periods before/after the Supreme Court's Dobbs decision in June 2022. A dashed line indicates the date of the decision, and a red annotation notes the average monthly decline of 13,416 births following the decision. A caption contextualizes the decline as "the biggest monthly drop in births in the 21st century." Title: NBA Draft Pick Value source: http://www.tsunaval.com author: tsan d3: d3.v3 framework: d3 rendering: svg Files: index.html <!DOCTYPE html> <html> <head> <title>NBA Draft Picks Value</title> <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js"></script> <style type="text/css"> body { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 12pt; margin: 0; } .chart { width: 800px; height: 500px; } .title { font-size: 16pt; font-weight: bold; text-anchor: middle; } .axis text { font-size: 9pt; fill: #333; } .axis path, .axis line { stroke: #000000; fill: none; shape-rendering: crispEdges; } .axis .tick line { stroke: #c0c0c0; } .legend text { font-size: 8pt; fill: #777; text-anchor: start; } .legend { font-size: 9pt; fill: #777; } .toolTip { position: absolute; display: none; background: #fff; padding: 5px; border: 1px solid #000; border-radius: 3px; pointer-events: none; font-family: Helvetica; font-size: 12px; } .axis path, .axis line { fill: none; stroke: #000; shape-rendering: crispEdges; } .tick line { stroke: #ddd; } </style> </head> <body> <script type="text/javascript"> // Function to load CSV data and render visualization d3.csv("Doctor Who EARTH Time Travel Journeys_LE.csv", function (data) { "use strict"; // data cleaning data.forEach(function (d) { d.Season = +d.Season; d.Episode = +d.Episode; d.TimeJumpYrs = +d.TimeJumpYrs; // don't worry about DateFrom and DateTo for the parallel coordinates }); var episodesBySeason = d3.nest() .key(function(d) { return d.Season; }) .entries(data) .filter(function(d) { return d.values.length > 0; }); var actors = d3.nest() .key(function(d) { return d.DWactor; }) .entries(data); var margin = {top: 70, right: 25, bottom: 30, left: 45}, width = 1000 - margin.left - margin.right, height = 650 - margin.top - margin.bottom; var formatNumber = d3.format(",.1~f"), format = function(d) { var s = formatNumber(d); if (d === 0) { return "0"; } return s; }, formatY = d3.format(",.2r"), formatX = d3.format(",d"), formatDate = d3.time.format("%B %d, %Y").parse; var x = d3.scale.linear() .domain([0, 500]) .range([10, 600]); var y = d3.scale.linear() .domain([-12000, 12000]) .range([390, 10]); var colour = d3.scale.category10(); var xAxis = d3.svg.axis() .scale(x) .orient("bottom") .ticks(5) .tickFormat(d3.format(".0f")) .tickSize(-290, 0, 0); var yAxis = d3.svg.axis() .scale(y) .orient("left") .ticks(5) .tickFormat(d3.format("d")); var svg = d3.select("#chart").append("svg") .attr("width", 900) .attr("height", 550) .append("g") .attr("transform", "translate(50, 20)"); var data = d3.csv("Doctor Who EARTH Time Travel Journeys_LE.csv", function(csv) { var data = csv.filter(function(d) { return d.Locale !== "N/A" && d.Place !== "N/A" && d.DateFrom !== "N/A" && d.DateTo !== "N/A"; }); data.forEach(function(d) { d.DateFrom = +d.DateFrom; d.DateTo = +d.DateTo; d.TimeJumpYrs = +d.TimeJumpYrs; }); return data; }); var parseDate = d3.time.format("%Y").parse; var parseDate2 = d3.time.format("%Y").parse; var margin = {top: 30, right: 30, bottom: 30, left: 40}, width = 960 - margin.left - margin.right, height = 500 - margin.top - margin.bottom; var x = d3.scale.log().domain(d3.extent(dataset, function(d){return d.Season;})).range([0, width]); var y = d3.scale.linear().domain([-100000000, 10000000]).range([height,0]); var color = d3.scale.category10(); var xAxis = d3.svg.axis().scale(x).orient("bottom"); var yAxis = d3.svg.axis().scale(y).orient("left"); var svg = d3.select("#chart").append("svg") .attr("width", width + margin.left + margin.right) .attr("height", height + margin.top + margin.bottom) .append("g") .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); var tip = d3.tip() .attr("class", "d3-tip") .offset([-10, 0]) .html(function(d) { return "<strong>Episode:</strong> " + d.episode + "</span><br/>" + "<strong>Time Jump:</strong> " + d.timejump + " years"; }); svg.call(tip); svg.selectAll("circle") .data(data) .enter().append("circle") .attr("r", 5) .style("fill", "red") .style("opacity", 0.3) .attr("transform", function(d) { return "translate(" + xScale(d.season) + "," + yScale(d.timejump) + ")"; }) .call(tip) .on("mouseover", tip.show) .on("mouseout", tip.hide); </script> </head> <body> <div id="wrapper"> <h1>Doctor Who Earth Time Travel Journeys</h1> <div id="chart"></div> </div> </body> </html> </style> <style type="text/css"> body { background-color: #1A1A1A; color: #FFBF00; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin: 20px; } #chart { width: 1200px; height: 800px; } .axis path, .axis line { stroke: #444; } .axis text { fill: #999; } .circle { opacity: 0.7; } text.label { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; fill: #aaa; font-size: 10px; } .episode-text { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; fill: #666; font-size: 9px; } #main { width: 900px; margin: 0 auto; text-align: center; } #main h1 { font-size: 18px; } #main h3 { font-size: 12px; font-style: italic; } body { background-color: white; font-family: sans-serif; } </style> </head> <body> <div id="main"> <h1>Doctor Who Earth Time Travel Journeys</h1> <h3>Jump in Space/Time of the Doctor and his Companions</h3> <div id="vis"></div> </div> <script type="text/javascript"> // data and visualization code... </script> </body> </html> The first few lines of the file: <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Doctor Who Earth Time Travel Journeys</title> <script type="text/javascript" src="http://d3js.org/d3.v3.js"></script> <style type="text/css"> .axis path, .axis line {  fill: none; stroke: #000; shape-rendering: crispEdges; } .x.axis .domain { fill: none; stroke: #000; } .y.axis .domain { fill: none; stroke: #000; } .tick { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 10px; } h1 { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: normal; font-size: 20px; color: white; text-align: center; } h2 { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: normal; font-size: 12px; color: white; } .background { fill: none; pointer-events: all; } #states path { fill: #2d4359; stroke: #fff; stroke-opacity: 0.5; stroke-width: 1px; cursor: pointer; } #states path:hover { fill: #3f8c5a; } #states path.selected { fill: #4fb7d8; } .land-glow { stroke: #0c9edf; stroke-width: 4px; stroke-opacity: 1; } .arcs { fill: none; stroke: red; stroke-width: 1.5; opacity: 0.8; } .labels { fill: white; font-family: monospace; font-size: 10px; text-anchor: middle; stroke: black; stroke-width: .6; } .tooltip { background: rgba(0,0,0,.8); color: #fff; position: absolute; padding: 5px; border-radius: 3px; font-size: 12px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; pointer-events: none; } </style> </head> <body> <div id="chart"></div> <script type="text/javascript" src="doctor-who-earth-time-travel-journeys.js"></script> </body> </html> doctor-who-earth-time-travel-journeys.js (Please focus only on this file; you are only allowed to use the information given in this file. Do not add any more information about how the file loads data etc.) // !h "AU":inline_eval (function() { // Load CSV data d3.csv("Doctor Who EARTH Time Travel Journeys_LE.csv", function(error, data) { if (error) throw error; // Create an SVG var svg = d3.select("body").append("svg") .attr("width", 1200) .attr("height", 1200) .append("g") .attr("transform", "translate(100,50)"); // Define color scale for doctors var color = d3.scale.category10() .domain(["Hartnell", "Troughton", "Pertwee", "Tom Baker", "Davison"]) .range(["#e41a1c", "#377eb8", "#4daf4a", "#984ea3", "#ff7f00"]); var placeList = []; var vizData = []; d3.csv("Doctor Who EARTH Time Travel Journeys_LE.csv", function(csvData) { csvData.forEach(function (d) { if (d.Place !== "Place") { var place = d.Place; if (place == "England") { place = "UK"; } else if (place == "Scotland") { place = "UK"; } else if (place == "Wales") { place = "UK"; } var obj = {}; obj.DWactor = d.DWactor; obj.Place = place; obj.Locale = d.Locale; obj.DateFrom = +d.DateFrom; obj.DateTo = +d.DateTo; obj.TimeJumpYrs = +d.TimeJumpYrs; obj.EpType = d.EpType; obj.EpTitle = d.EpTitle; obj.Episode = d.Episode; obj.Generation = d.Generation; obj.Season = +d.Season; obj.DWactor = d.DWactor; obj.x2 = +d.TimeJumpYrs data.push(obj) }) } }); var data = [ ] var map = {} var seasonStats = [] var seasonCounts = {} var actorNames = [] var uniqueWriters = new Set() // ... </script> </head> <body> <div id="container"> <h1>Doctor Who Earth Time Travel Journeys</h1> <div id="chart"></div> </div> </body> </html> Analyze the provided HTML file. The file is a self-contained data visualization example. Suggest specific changes for improving this visualization. Focus on suggested improvements regarding the data visualization itself, e.g. by considering data encodings, chart type, interaction, and visual design choices. Do not suggest text changes. Provide a concise but insightful analysis of the visualization. Key: S1: Timey-Wimey Time Travel (10/10) S2: The Earth is Big Enough S3: 90s revival push S4: A continuous stream of data S5: Prequels, One-Offs, and Specials And here is the breakdown of episode 4 S1E1 An Unearthly Child -100000 S1E2 The Daleks (delete) S1E3 The Edge of Destruction (delete) S1E4 Marco Polo -13000000000 S1E5 The Keys of Marinus -400000 S1E6 The Aztecs 1289 S1E7 The Reign of Terror 2700 S1E8 The World Encompassed S1E9 The Crusade 1965 S1E10 The Sensorites -200000 S1E11 The Reign of the Spider: Planet of Giants 1965 S1E12 The Reign of the Spider: Planet of Giants 1965 S1E13 The Reign of the Spider: Planet of Giants 1965 Two CSV files data source with Doctor Who Earth Time Travel Journeys Design: Title: Doctor Who Earth Time Travel Journeys Description: A timeline visualization where each point represents the "Doctor" (i.e., the title character of the show) making a trip to the planet Earth, with the x-axis representing the chronological order of episodes, and the y-axis representing the historical time period visited. The graph reveals time travel patterns, including "favorite" historical eras, and uses color and symbols to show the actor generation and era of the show. A large-multiples timeline graphic on the bottom shows the relative duration between trips. This is meant to allow people to explore patterns in the Doctor’s journeys—for example, that the Doctor tends to visit certain eras (the 20th century especially) more than others, and that the BBC's budgets influenced their stories’ settings. Data (source: gist) Files: Doctor Who EARTH Time Travel Journeys_LE.csv Season,DWactor,Generation,Episode,EpType,EpTitle,DateFrom,DateTo,TimeJumpYrs,Place,Locale 1,Hartnell,Classic,1,Regular,An Unearthly Child,1963,-100000,"-101,963",England,London 1,Hartnell,Classic,4,Regular,Marco Polo,-13000000000,1289,"13,000,001,289",China,Pamir 1,Hartnell,Classic,6,Regular,The Aztecs,1289,1450,"2,739",Mexico,Santa Cecilia Acatitlan 1,Hartnell,Classic,8,Regular,The Reign of Terror,2700,1794,-906,France,Paris 1,Hartnell,Classic,10,Regular,The Dalek Invasion of Earth,1963,2164,201,England,London 1,Hartnell,Classic,12,Regular,The Romans,2493,64,"-2,429",Italy,Rome 1,Hartnell,Classic,14,Regular,The Crusade,1965,1190,-775,Palestine,Jaffa 1,Hartnell,Classic,16,Regular,The Chase,1965,1966,1,USA,New York City 1,Hartnell,Classic,16,Regular,The Chase,1966,1872,-94,Atlantic Ocean,"Azores (37°01'N, 25°01'W)" 1,Hartnell,Classic,16,Regular,The Chase,1872,1996,124,Africa,Ghana 1,Hartnell,Classic,16,Regular,The Chase,1966,1965,-1,England,London 1,Hartnell,Classic,17,Regular,The Time Meddler,1965,1066,-899,England,Northumberland (Northumbria) 1,Hartnell,Classic,20,Regular,The Myth Makers,3999,-1200,"-2,489",Turkey (Troy),Hisarlik (Troy) 1,Hartnell,Classic,21,Regular,The Daleks' Master Plan,4000,4000,0,England (Central City),Southern England (Central City) 1,Hartnell,Classic,21,Regular,The Daleks' Master Plan,4000,1965,-735,England,Liverpool 1,Hartnell,Classic,21,Regular,The Daleks' Master Plan,1965,1966,1,England,London (New Year's Day) 1,Hartnell,Classic,21,Regular,The Daleks' Master Plan,1966,1966,0,England,London (The Oval) 1,Hartnell,Classic,21,Regular,The Daleks' Master Plan,1965,1928,-37,USA,Los Angeles (Hollywood) 1,Hartnell,Classic,21,Regular,The Daleks' Master Plan,4000,-2500,"-6,500",Egypt,Giza 1,Hartnell,Classic,22,Regular,The Massacre of St Bartholomew's Eve,4000,1572,"-2,428",France,Paris 1,Hartnell,Classic,25,Regular,The Gunfighters,10000700,1881,"-9,998,819",USA,Tombstone (Arizona) 1,Hartnell,Classic,27,Regular,The War Machines,1881,1966,85,England,London 1,Hartnell,Classic,28,Regular,The Smugglers,1966,1671,-295,England,Nanjizal Bay (Cornwall) 1,Hartnell,Classic,29,Regular,The Tenth Planet,1986,1986,0,Antartica,South Pole 2,Troughton,Classic,31,Regular,The Highlanders,1986,1746,-240,Scotland,Culloden 2,Troughton,Classic,35,Regular,The Faceless Ones,2070,1966,-104,England,Crawley West Sussex (Gatwick Airport) 2,Troughton,Classic,36,Regular,The Evil Of The Daleks,1966,1966,0,England,Crawley West Sussex (Gatwick Airport) 2,Troughton,Classic,36,Regular,The Evil Of The Daleks,1966,1866,-100,England,"Harrow Weald, Middlesex" 2,Troughton,Classic,38,Regular,The Abominable Snowmen,1966,1935,-31,Tibet,Himalayas 2,Troughton,Classic,41,Regular,The Web Of Fear,1930,1970,40,England,London 2,Troughton,Classic,42,Regular,Fury From The Deep,1970,1967,-3,North Sea,"(56.0000° N, 3.0000° E)" 2,Troughton,Classic,46,Regular,The Invasion,2000,1970,-30,England,London 2,Troughton,Classic,48,Regular,The Seeds Of Death,1969,2190,221,England,London 2,Troughton,Classic,61,Regular,The War Games,1969,1746,-223,Scotland,Culloden 3,Pertwee,Classic,51,Regular,Spearhead from Space,1970,1990,20,England,London 3,Pertwee,Classic,55,Regular,Terror of the Autons,1990,1971,-19,England,London 3,Pertwee,Classic,60,Regular,Day of the Daleks,1972,2100,128,England,Northamtopnshire 3,Pertwee,Classic,64,Regular,The Time Monster,1972,-2000,"-4,700",Greece (Atlantis),Santorini (Atlantis) 3,Pertwee,Classic,64,Regular,The Time Monster,-2000,1972,"3,972",Greece (Atlantis),Santorini (Atlantis) 3,Pertwee,Classic,69,Regular,The Green Death,2540,1973,-567,Wales,Llanfairfach 3,Pertwee,Classic,70,Regular,The Time Warrior,1975,1275,-700,England,Castleton Dorset (Wessex) 3,Pertwee,Classic,71,Regular,Invasion of The Dinosaurs,1200,1974,774,England,London 4,Tom Baker,Classic,82,Regular,Pyramids of Mars,1974,1911,-63,England,East End Berkshire 4,Tom Baker,Classic,83,Regular,The Android Invasion,1911,1980,69,England,Tubney Wood Oxfordshire 4,Tom Baker,Classic,84,Regular,The Seeds of Doom,1980,1980,0,Antartica,South Pole 5,Tom Baker,Classic,85,Regular,The Seeds of Doom,1980,1980,0,England,Athelhampton Dorset 4,Tom Baker,Classic,86,Regular,The Masque of Mandragora,1980,1492,-488,Italy,San Martino 4,Tom Baker,Classic,87,Regular,The Hand of Fear,1980,1980,0,England,Gloucestershire 4,Tom Baker,Classic,91,Regular,The Talons of Weng-Chiang,1889,1889,0,England,London 4,Tom Baker,Classic,92,Regular,Horror of Fang Rock,1900,1900,0,England,Isles of Scilly 4,Tom Baker,Classic,94,Regular,Image of the Fendahl,1977,1977,0,England,East End Hampshire 4,Tom Baker,Classic,105,Regular,City of Death,-140000000,1982,"140,001,982",France,Paris 5,Tom Baker,Classic,106,Regular,City of Death,1979,1505,-474,Italy,Florence 5,Davison,Classic,119,Regular,The Visitation,1666,1666,0,England,London 5,Davison,Classic,120,Regular,Black Orchid,1925,1925,0,England,Buckinghamshire 5,Davison,Classic,121,Regular,Earthshock,2486,2526,40,England,Hertfordshire 5,Davison,Classic,122,Regular,Time-F index.html:58 .enter().append("circle") .attr("r", 0) .style("fill", function(d) { return color(d.Place); }) .style("fill-opacity", 0.4) .style("stroke", function(d) { return color(d.Place); }) .style("stroke-width", 1) .style("stroke-opacity", 0.8) .style("cursor", "pointer") .on("click", function(d) { show(d.Place); }); svg.selectAll(".dot") .transition() .duration(5000) .delay(function(d, i) { return i * 100; }) .attr("cx", function(d) { return xScale(d.DateFrom); }) .attr("cy", function(d) { return yScale(d.Place); }) .attr("r", function(d) { return 3 + Math.sqrt(d.TimeJumpYrs/1000000000); }) .duration(5000) .ease("bounce"); var header = svg.append("text") .attr("class", "header") .attr("x", (width / 2)) .attr("y", 30) .style("text-anchor", "middle") .style("fill", "#fffff") .style("font-size","26px") .text("Doctor Who Earth Time Travel Journeys") ; svg.append("text") .attr("x", (width / 2)) .attr("y", 60) .attr("text-anchor", "middle") .style("fill", "#aaf") .style("font-size", "16px") .text("Each line represents a Time Lord journey (where on Earth they went and when)"); var margin = {top: 50, right: 50, bottom: 50, left: 50} , width = 1200 - margin.left - margin.right , height = 850 - margin.top - margin.bottom , x = d3.scale.linear().range([0, width]) , y = d3.scale.linear().range([0, height]) , color = d3.scale.category20() , xAxis = d3.svg.axis().scale(x).orient("bottom") , yAxis = d3.svg.axis().scale(y).orient("left") , svg = d3.select("#chart").append("svg") .attr("width", width + margin.left + margin.right) .attr("height", height + margin.top + margin.bottom) .append("g") .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); //tick formatting helper function function formatDate(value) { return value.toExponential(0).replace(".", ".") .replace("e+", "x10^"); } function draw_lines() { // Load in data d3.csv("Doctor Who EARTH Time Travel Journeys_LE.csv", function (error, data) { // define some color scale var color = d3.scale.category20b(); // filter for unique actors to build legend var actors = d3.nest() .key(function (d) { return d.DWactor; }) .entries(data); var w = 1000, h = 500, m = [60, 120, 40, 80]; var y = d3.scale.linear() .domain([1950, 2025]) .range([0, h]); var x = d3.scale.linear() .domain([-10000000000, 10010000]) .range([0, w]) .clamp(true); var xAxis = d3.svg.axis() .scale(x) .tickFormat(d3.format("g")); var svg = d3.select("body").append("svg") .attr("width", w + m.l + m.r) .attr("height", h + m.t + m.b) .append("g") .attr("transform", "translate(" + m.l + "," + m.t + ")"); d3.csv("Doctor Who EARTH Time Travel Journeys_LE.csv", function (data) { ... }); </script> </head> <body> </body> </html> Need to write a concise description of a data-visualization example. Need to infer a lot from the data and code. Description should be interesting and engaging. No more than 3 paragraphs. Also, note this D3 code for this gist was built with d3.v3, and thus the `queue` and `d3.legend` are not included in v5 and above. The original code is not available here, but the files likely render an interactive visualization of data. Important: the data (csv file) is truncated. You have enough data. If you need, a list of all Doctors is provided. Here are some known details about the visualization: Title: Doctor Who Earth Time Travel Journeys Source: gist Author: IconicImagery D3 Version: d3.v3 Framework: d3 Rendering: svg The data file describes journeys in the TV show, Doctor Who: for each journey, a season, Doctor, episode, and several date/time/place fields. We need a concise description of the data-visualization example. A data-viz description usually includes: - what the graphic shows - how the data is encoded - what interaction is included - what the graphic does well - what the graphic could be improved - the overall "takeaway" Write in plain paragraphs, not as a bulleted list. Target length: about 400-600 words. But before that, write the JSON for the "addendum" data that will be used to display the tooltip when hovering over the circle for "An Unearthly Child". Do not include any other JSON besides the addendum JSON in the code block. Then, after the JSON, provide the description. File path is the only additional context. Ensure to include the specified CSV data fields in your JSON addendum. Ensure the title and data format exactly match.```json { "title": "Doctor Who Earth Time Travel Journeys", "episode": "An Unearthly Child", "season": 1, "actor": "Hartnell", "generation": "Classic", "episodeNumber": 1, "epType": "Regular", "dateFrom": 1963, "dateTo": -100000, "timeJump": -101963, "place": "England", "locale": "London" } ```

Mar 31, 2015