通过NASA的TESS任务的数据可视化探索系外行星

数据可视化是一种强大的工具,可以向读者展示复杂的数据。更进一步,叙事可视化使我们能够将信息转化为一系列引人入胜的场景,从而创造数据故事。这种方法根据受众的需求来定制体验。
叙事可视化是关于塑造引导受众通过数据的场景。它以创新的方式呈现数据,通过创造故事来强调关键点以增加互动性,并使受众能够与图表产生共鸣。每个视觉元素都应该被精心编织成一个有意义的故事。因此,这些数据可以在被动的数据接触中向受众传递信息,并与他们的感官产生共鸣。这种被动的数据接触使受众能够在一段时间内保留重要信息。
本文将探讨叙事可视化的概念及其在数据传播中的应用。美国国家航空航天局(NASA)的过境系外行星巡天卫星(TESS)任务发现的系外行星将作为一个视角,通过它我们可以考察叙事视觉的应用。我们还将介绍D3,一个用于创建数据驱动文档的强大JavaScript库。
解读叙事可视化的基本原理
叙事可视化是关于制作视觉吸引力的图表,并带领观众踏上发现数据之旅。数据在开头简要介绍,然后在中间深入探讨,并通过揭示关键洞见或提供灵活的探索工具来结束,从而形成一个交互式故事。
这是一个将数据组织成特定结构的过程,而不是随机呈现事实和数字。因此,数据成为故事中的角色,而您作为叙述者的工作就是利用视觉将这些角色栩栩如生。观众通过与数据故事互动,建立联系并识别模式,这些模式可以轻松地长期保留。
叙事可视化可以采用三种主要结构:
- 作者驱动的叙事:作者提供了数据的特定路径,并指导受众以结构化的方式通过数据。作者驱动的视觉效果在清晰地传达洞见时非常有效,例如视频。
- 读者驱动的叙事:这种方法将控制权交给观众。它提供了更具互动性的体验,观众可以按照自己的节奏探索数据并选择自己的路径。这在鼓励参与和探索方面非常有效。例如,交互式仪表盘就是一个例子。
- 混合叙事:结合了作者驱动和读者驱动叙事的元素。通常以作者驱动的介绍开始,然后是读者驱动的探索部分。这提供了引导性故事叙述和互动探索之间的平衡。Martini Glass数据表示法就是一个例子。

在接下来的部分中,我们将使用流行的混合叙事结构“Martini Glass”来可视化来自NASA TESS任务的数据。这种结构提供了一个初始的作者驱动概述(玻璃杯的杆部),然后是一个读者驱动的探索空间(玻璃杯的碗部)。让我们在让受众深入探索数据之前,引导他们了解数据的关键点。
案例研究:通过NASA的TESS任务发现系外行星

在2018年,NASA启动了一项探索性的旅程,通过发射过境系外行星巡天卫星(TESS)任务,探索我们太阳系之外的系外行星。
TESS任务已经证明是一项天文宝藏。通过这项任务,NASA已经积累了超过90个数据点。这些数据点包含了关于每个系外行星的有价值的信息,有助于解决宇宙之谜。这些数据包括系外行星的名称、它们的母星和发现年份,以及它们的物理特性:大小、形状、离心率和轨道周期。这些数据集概括了每个系外行星的故事,让TESS任务的事实和数据揭示了引人入胜的宇宙故事。

我们将使用TESS数据创建一个叙事可视化,通过灵活的工具来讲述系外行星发现的故事,并进行深入分析。
场景1:已发现的系外行星概览故事从TESS在2018年至2023年期间发现的系外行星概览开始,突出显示了随时间变化的趋势,并将一些特征与地球范围进行比较。这为我们的故事提供了背景,提供了有关TESS任务的范围和广度的上下文信息。第一个场景分解为三个具体的可视化,旨在展示数据的独特概览:
- 每年发现的系外行星的直方图:展示了每年发现的系外行星数量。每个柱状图的高度对应于发现的数量。为了提供交互体验,点击柱状图可以过滤其他图表中的数据,以便对该特定年份的发现进行重点分析。
- 平衡温度与轨道离心率的散点图:这个散点图通过比较系外行星的平衡温度和轨道离心率来展示其特征。平衡温度显示在x轴上,近似表示系外行星的平均温度。轨道离心率显示在y轴上,表示系外行星轨道与完美圆形的偏离程度。交互元素使用户能够进一步探索数据:悬停在圆圈上可以显示数据的概览,单击可以转到第二个场景进行详细的探索视图。
- 恒星质量与半径的散点图:将焦点转向母星,这个可视化将恒星质量与半径绘制为圆圈。与之前的可视化一样,交互功能允许用户探索特定的行星特征。

场景2:对个别系外行星的深入探索接下来,我们通过点击这些系外行星,探索它们的独特特征,并将这些特征与地球范围进行比较。使用一系列水平条形图描述特定参数,并将系外行星的值与大致相应的地球范围进行比较。
这个场景更详细地展示了使每个行星独特的属性,如平衡温度、行星半径、轨道半长轴、轨道离心率以及母星的半径和质量。

场景3:TESS数据的交互式探索最后一个场景提供了一个交互式探索工具,允许用户更改各种比较范围并选择要比较的特征。在这个场景中,我们提供了个性化的探索体验。

这个案例研究展示了叙述可视化在使复杂数据易于理解和引人入胜方面的作用。在下一节中,我们将探讨实现细节。
使用D3进行叙述可视化
D3.js是一个用于在Web上进行交互式数据可视化的JavaScript框架。在开始构建TESS叙述可视化之前,让我们先了解一些D3的基本功能。
选择元素:
D3的一个基本功能是“select”方法。这使我们能够识别需要调整的HTML文档中的元素。例如:
d3.select("#visualization")
添加和操作元素:
D3可以使用“append”、“attr”和“style”方法构建和管理SVG元素。
- “append”将不同数据点(圆、矩形等)引入SVG中的新元素中。
- “attr”和“style”调整这些元素的属性和属性,如它们的位置、大小和颜色。
绑定数据:
使用“data”方法,D3将数据绑定到可视化元素上。这使得D3在创建数据驱动的可视化效果方面具有强大的功能,可以进行动态更新。
缩放:
缩放将输入域映射到输出范围,调整数据的绘图区域。例如,“d3.scaleLinear()”使用线性缩放,其中输入域中的任何给定数字直接对应输出范围中的一个数字。
构建TESS场景
现在我们已经了解了D3的基本知识,我们可以使用TESS任务数据(在此处提供)构建一个引人入胜的叙述。为了简洁起见,本文详细讨论了前两个场景的基本内容。您可以查看GitHub存储库以获取完整的场景实现。
准备html
在头部加载d3库
<script src="https://d3js.org/d3.v7.min.js"></script>
然后准备一个容器div来绘制图表:
<div id="visualization"></div>
场景1:已发现系外行星的概述
下面是我们创建第一个场景的步骤:
- 使用“d3.csv”函数加载并将TESS数据存储在一个变量中。
- 散点图表示TESS随时间发现的系外行星。
- 添加交互性,允许用户点击特定的系外行星并导航到场景2。
加载数据并调用代码以绘制第一个场景:
d3.csv("data/tess_confirmed_plannets.csv").then(function(myData) { data = myData; // 场景1:概述 drawScene1(myData);});
让我们通过展示散点图中的系外行星来绘制第一个场景的示例,请查看代码中的注释以获取实现细节:
TESS任务数据探索 – 场景1的代码示例,绘制概述散点图
场景2:对个别系外行星进行详细探索
我们将按照以下步骤创建第二个场景:
- 创建“drawScene2”函数,以使用所选系外行星的数据。
- 创建展示所选系外行星个别特征并将其与地球范围进行比较的可视元素。
TESS任务数据探索 – 场景2的代码示例,将个别系外行星特征与地球范围进行比较
给出的代码是场景1和场景2的简化版本。完整的代码,包括交互元素和功能,可以从链接的GitHub存储库中获取。
您可以在下面查看最终的叙述结果:
https://barqawiz.github.io/NASA_TESS_Narrative/
总结:叙述可视化偏离了单调的数据传达路径,进行了一次旅程。数据以结构化但吸引人的方式呈现,以吸引观众的注意力。这些数据故事以个性化的方式吸引观众。然而,这些故事的策划者可以有意地选择他们的叙述结构,以实现高效的数据叙事,无论是作者驱动、读者驱动还是混合叙事。
NASA的“过境系外行星巡天卫星”(Transiting Exoplanet Survey Satellite)任务数据被用作案例研究,以展示叙事可视化。这项TESS任务发现了超过90个特征的太阳系外行星。采用了混合型马提尼玻璃方法将这些数据传达给观众。叙事从作者驱动的方式开始,然后通过读者驱动的方法转向有关行星外行星的细节,以进行交互式和个性化的探索。
编排视觉叙事是一门艺术,确定您的最终目标和目标受众,并选择故事结构对于数据的隐含意义和吸引观众至关重要。
参考资料
- NASA TESS任务图库:链接
- NASA系外行星档案:链接
- NASA内容政策:链接
- 地球事实表:链接
- 完整代码的Github存储库:链接
- 清洗后使用的数据:链接
- UIUC课程“CS 416:数据可视化”。
引用:NASA内容(图像、视频、音频等)通常不受版权保护,可用于教育或信息目的而无需明确许可。