從數據上看:誰纔是漫威的絕對C位

復聯4上映了!這次比美國還早了兩天。當然,我還沒看,不會給你們劇透,當然也不想不劇透。

這一部不僅是滅霸這一線劇情的結局,也被認爲漫威第三階段的收官之作。據說此部之後,不少影迷熟知的角色(演員)就要離開漫威世界的熒幕了。因此剛上映就備受關注,今天一天國內票房就已超5億。

上次的文章《這可能是我用過最“強大”的API:Marvel API》中,我給大家演示了漫威開放接口(Marvel API)的功能,並且在最後留了個“彩蛋”:爭取跟《復聯4》同步上線一個案例。

很遺憾,最近幾天忙着更新網站,眼看要鴿了。但慶幸的是,我們另一位實訓生 @清風小築 站出來把坑給填了:

對 Marvel API 中的數據進行統計分析,將角色之間關係進行可視化展示。換句話說:用數據說話,誰纔是漫威宇宙中着墨最多的人物

我之前做了個小調查:

僅就我這邊的採樣來看,鋼鐵俠在國內是無法撼動的人氣王。當然,這可能因爲國內更多是漫威系列電影觀衆。

那麼官方的喜好又是如何?

上文中我們說過,在 Marvel API 的開放數據中,包含了:

  • 1491 個角色
  • 43759 本漫畫
  • 6200 個創作者
  • 10713 個系列
  • 96740 個故事
  • 75 個事件

我們這次案例選取的是 角色(character)故事(story)之間的關係:

  1. 選取故事最多的 N 個角色
  2. 根據共同出現的故事數,衡量角色之間的關聯性

經過統計發現,故事數前3的是:

  1. 蜘蛛俠(Spider-Man)- 5192
  2. X戰警(X-Men)- 4551
  3. 鋼鐵俠(Iron Man)- 3483

關聯性最高的前3位:

  1. X戰警 - 金剛狼 - 1001
  2. 神奇四俠 - 霹靂火 - 817
  3. 神奇四俠- 隱形女俠 - 773

故事數最多的25個英雄/團體的關係圖:

故事數最多的99個英雄/團體的關係圖:

Data provided by Marvel. 2014 Marvel
數據由 Marvel 提供
來源:marvel.com
  1. 意料之外但情理之中,蜘蛛俠是出現故事最多的角色。這還只是主線角色,沒算上各個平行宇宙和衍生角色。事實上,小蜘蛛在漫威迷中一直有着超高的人氣,或許是因爲他的故事更接近於現實中的每一個平凡人,也或許是他那份“能力越大,責任越大(With great power comes great responsibility)”的堅持。而在國內觀衆熟知的漫威系列電影中,蜘蛛俠似乎戲份不多,這是由於蜘蛛俠的電影版權很早就賣給了索尼(X戰警和神奇四俠也是類似)。
  2. 鋼鐵俠、美隊、金剛狼是緊隨其後的角色,X戰警是故事最多的團體。
  3. 關係圖上的顏色不是我們手動標註的,而是 Gephi 通過聚類自動劃分的。文字標籤的大小則體現故事數的多少。X戰警、神奇四俠、復仇者聯盟,這三個團體壟斷了漫威絕大部分的故事。神奇四俠雖然人物和故事不算多,但相關關聯很緊密(大多同時出場),相反典型是雷神(Thor),雖然故事很多,但大多獨來獨往。

最後來說說這個關係圖的實現過程。主要是兩大塊:

  1. 從 Marvel API 獲取數據。首先是獲取所有角色,然後獲取角色相關的故事,再根據這些故事信息將角色進行關聯統計,最終得到節點(角色、故事數)和邊(關聯故事數)的數據。
  2. 通過可視化分析工具 Gephi 將節點和邊的數據進行可視化展示,生成關係圖表。Gephi 的功能很強大,可以調節不同的展示效果,各位可以自行體會下。

其他需要注意的:

  1. 我們沒有直接通過網絡請求 Marvel API,而是使用了上次文章中提到的 marvel 模塊來實現。(使用示例見前文
  2. 中間的臨時數據,因爲是 JSON 格式,於是我們用 mongodb 進行了存儲,便於後續整理分析。如果你自己運行,也可以通過其他方式(比如文件)進行存儲。
  3. 經過處理後的節點、邊數據我們保存成了 csv 文件,你可以在項目中獲取,直接放進 Gephi 使用。僅供學習,請勿商用。
  4. Marvel API 需要申請祕鑰、有請求速率限制,使用時需標註數據出處和來源網址


相關網址:

Marvel API developer.marvel.com/do

marvel庫 pypi.org/project/marvel

Gephi操作手冊 gephi.org/users/quick-s

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章