豆瓣电影数据可视化项目

作为星战迷,看了N遍星球大战,你能说出《星球大战》系列的7部电影中出现了多少个角色、多少个种族、多少艘飞船、多少架战车吗?不要掰着手指头数了,看完这篇你能获知想要的一切~

知识图谱全景展现星球大战

没有看过星战的同学,一张图就可以告诉你,这7部电影里,共出现了87名角色、21颗星球、37艘飞船、39架战车、37个种族,还能告诉你,这228个实体之间的1112种关系。

这次的数据源来自Star Wars API,据说这是全球首个量化的、可供编程使用的星战数据集,开发者经过漫长的搜集和整理,汇总了上面提到的多项星战电影数据(具体参数见文末)。

通过一系列数据收集和统计分析,哪怕没有看过星战,也可以通过对信息归类整理,给大家展现星战错综复杂的角色关系。

数据可视化链接在这里。

知道这些,你可以更懂“我是你的父亲”

星战影片涉及到了228个实体,这些实体之间的1112种关联,可以用知识图谱来刻画——这样你就更清楚地理解“我是你的父亲”这句话的相关信息了。

豆瓣电影数据可视化项目_第1张图片

知识图谱其实是个丰富的图模型,在图谱中,节点表示实体,节点之间的边表示实体之间的关联,节点和边都可以包含自己的属性。

在图谱上任何一个星战关键词,都能获得完整的知识体系。

为了生成一张知识图谱,需要完成以下三点内容:

  • 定义好有哪几类节点、节点之间存在哪几类关系、节点和边可能需要考虑到哪些属性;
  • 基于准备好的数据,提取节点和边;
  • 使用可视化等技术进行展示,提供图谱探索和关联发现的功能。

构建完知识图谱之后,我使用D3进行了展示。

在这个知识图谱中,节点使用Circle或者Text来表示,不同颜色表示不同类别的节点,彼此相连的节点表示存在关联,比如某个character参演了某部film、某个planet上生活着某个species等。

鼠标悬浮在某个节点上时,仅显示和该节点之间相连的其他节点,这样就能更清楚地看到节点之间的关联了。

当然,也可以在搜索框中输入关键词,只有名称中包含关键词的节点才会显示,帮你快速找到你的绝地武士——LUKE。

对了,实体的相关介绍,也会在右下角显示,请留意~

豆瓣电影数据可视化项目_第2张图片

比如绝地大师Obi-wan Kenobi出现在了这7部影片里。

豆瓣电影数据可视化项目_第3张图片

C-3PO这个人见人爱的逗比机器人,在6部影片里均有出现。

豆瓣电影数据可视化项目_第4张图片

说出“我是你的父亲”的Darth Vader。

豆瓣电影数据可视化项目_第5张图片

贯穿7部星战的是R2-D2

知识图谱为知识表达提供了一种很好的解决方案,但有些时候我们更关注实体的动态变化情况。

举例来说,我们希望知道每部星战电影中,分别出现了哪些Characters、Planets、Starships、Vehicles和Species,显然这一答案无法从知识图谱中得出,所以接下来借助时间线进行可视化。

由于数据并不包含时间戳信息,因此只能展示每个角色在哪些影片中出现过。

如下图所示,不同的行代表films,不同的列代表不同的实体,不同的颜色代表不同的实体类别。

以演员为例,没有哪位演员参演过星战系列的全部电影,但机器人R2-D2贯穿了整个系列。

星战6

如果你对某个元素感兴趣,把鼠标悬停上去,就可以看到实体名了,快去找你喜欢的角色吧。

星战角色平均体重97公斤

主角永远自带光环,所以我又重点研究了一下。

通过Characters的一些统计信息,可以发现在星战这个以男性主导的系列里,只有19名女性。她们平均身高165.8CM、体重56KG,而这个系列里男性的平均身高是185.8CM、体重83.2KG。

豆瓣电影数据可视化项目_第6张图片

当然,星球大战还有些其他角色……

总体上看,星战里的角色平均身高在174CM,平均体重在97KG,为什么那么胖?

这其实是因为一个异常点——Jabba Desilijic Tiure,身高仅175cm,体重却达1358kg,就是他拉高了平均体重,对了,据说他是雌雄同体,你们感受下。

豆瓣电影数据可视化项目_第7张图片

下图中你可以看到相关人物的体重和身高分布,体重或身高为-1表示值缺失,也有少数人物性别信息缺失。

豆瓣电影数据可视化项目_第8张图片

最后来看下关于Species的统计信息,下图这张图展示的是各种族的平均身高和寿命(-1表示缺失值)。

大多数种族寿命在100年以内,有的可达几百甚至上千年,也有这样的异常点未显示在图中:Droid——人造机器人,寿命为indefinite。

豆瓣电影数据可视化项目_第9张图片

另外,从这些数据中,还发现87个角色里,光头非常流行——头发颜色的数据显示37个NONE(数据缺失是N\A),19个是棕色头发。

同时,棕色眼睛在这7部电影里最受宠,有21个角色拥有棕色眼睛,其次才是蓝色眼睛,有16人。

豆瓣电影数据可视化项目_第10张图片

另外,如果感兴趣的话还可以统计一下天行者家砍手史,虽然这个并没有数据,不过你们可以自己去数……

这句话在7部星战出现了9次

说了这么久主角,为什么还要把电影作为最大的节点,而不是人物呢?

在梳理的各类实体之间的关系时,我做了下面这个表,其实只有电影连接了所有实体,而不是角色。

豆瓣电影数据可视化项目_第11张图片

最后,再来统计一下每部星战电影中涉及到了多少Characters、Planets、Starships、Vehicles和Species。

如下图所示,可以看出Attack of the Clones参演人员最多,The Force Awakens涉及到的各类元素数量都比较少,当然也可能是因为数据尚未完全整理的原因。

豆瓣电影数据可视化项目_第12张图片

对于星战的数据分析远不止于此,如果你感兴趣,甚至你还可以自己去统计,并发现“对此我有坏感觉”这句话在7部影片里出现了9次。

豆瓣电影数据可视化项目_第13张图片

Yoda抱怨“黑暗遮蔽了一切,谁也无法看清未來之事”,可惜他不知道数据分析的强大力量,这绝对是一个需要认真考虑的“原力”,可以让你穿透黑暗!

Star Wars API字段汇总

  • Films:title、episode_id、opening_crawl、director、producer、release_date、characters、planets、starship、vehicle、species、created、edited、url
  • Characters:name、height、mass、hair_color、skin_color、eye_color、birth_year、gender、homeworld、films、species、vehicle、starships、created、edited、url
  • Planets:name、rotation_period、orbital_period、diameter、climate、gravity、terrain、surface_water、population、residents、films、created、edited、url
  • Starships:name、model、manufacturer、cost_in_credits、length、max_atmosphering_speed、crew、passengers、cargo_capacity、consumables、hyperdrive_rating、MGLT、starship_class、pilots、films、created、edited、url
  • Vehicles:name、model、manufacturer、cost_in_credits、length、max_atmosphering_speed、crew、passengers、cargo_capacity、consumables、vehicle_class、pilots、films、created、edited、url
  • Species:name、classification、designation、average_height、skin_colors、hair_colors、eye_colors、average_lifespan、homeworld、language、people、films、created、edited、url

你可能感兴趣的:(豆瓣电影数据可视化项目)