以大熱劇《覺醒年代》為例用Python繪制可視化儀表盤

前言

《覺醒年代》被稱為是繼《走向共和》後的又一部歷史神劇。自開播以來,豆瓣上的評分也是從最初的8.3分飆升到9.2分,並且在最近的上海電視節白玉蘭獎中獲得多項提名。

數據的可視化

Pyecharts中的頁面組件Page能夠很好地將許多繪制出來的頁面組合到一個頁面當中去,首先我們先導入需要用到的模塊,

import pandas as pd
from pyecharts.charts import Bar, Page
from pyecharts import options as opts
from pyecharts.globals import ThemeType
from collections import Counter
from pyecharts.charts import Pie

‍首先我們來可視化一下觀眾的評分分佈,從中可以看書,5顆星的評分占到瞭75%,可見觀眾們對該劇的評價都是非常的高瞭,幾乎都給出瞭滿分的好評

p = (
      Pie(init_opts=opts.InitOpts(theme=ThemeType.INFOGRAPHIC))
          .add("", [list(z) for z in zip(stars_keys_list, stars_values_list)],
               radiu=["40%%", "65%"],
               center=["55%", "50%"])
          .set_global_opts(title_opts=opts.TitleOpts(title="電影評分分佈(%)", pos_left="center", subtitle="覺醒年代"),
                           legend_opts=opts.LegendOpts(orient="vertical",
                                                       pos_top="15%",
                                                       pos_left="25%"))
          .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
    )
p.render("movie_stars.html")

下面我們來繪制一下劇中的主角被提及的次數,當然可能有一些讀者朋友不是特別熟悉該部劇,該劇的歷史背景是1915年到1921年這段期間,由李大釗、陳獨秀以及胡適領導的新文化運動開始講起從可視化出來的結果可以發現於和偉(皇叔)被提及的次數是最多的,哈哈哈

bar = (
  Bar(init_opts=opts.InitOpts(theme=ThemeType.ROMANTIC))
      .add_xaxis(actor_mention_keys_list)
      .add_yaxis("", actor_mention_values_list)
      .set_global_opts(title_opts=opts.TitleOpts(title="主角被提及的次數", subtitle="覺醒年代", pos_left="center"),
                       yaxis_opts=opts.AxisOpts(min_= 0, max_=1800))
)
bar.render("actors_mentions_times.html")

與此同時,小編也統計瞭一下參與瞭評論的觀眾朋友們的地域分佈情況,發現的是北京和上海的觀眾最多,對於歷史題材的,黨政類型的劇情比較感興趣,

bar = (
      Bar(init_opts=opts.InitOpts(theme=ThemeType.INFOGRAPHIC))
          .add_xaxis(location_keys_list)
          .add_yaxis("", location_values_list)
          .set_global_opts(title_opts=opts.TitleOpts(title="影迷的分佈地點", subtitle="覺醒年代", pos_left="center"),
                           yaxis_opts=opts.AxisOpts(min_=0, max_=65)
                           )
)
bar.render("fans_location.html")

而這些觀眾粉絲們大多也是近幾年才剛加入的新用戶,大多都集中在2018年至2020年這些時間段,可見為瞭用戶增長,該社區也是花瞭不少的功夫

最後我們來制作可視化儀表盤,在實例化Page對象之後,就將我們繪制好的作品往裡添加即可

page = Page(layout=Page.SimplePageLayout)
page.add(visualiza_stars(0.8, 0.9, 3.7, 19.3, 75.3),
         visualize_actors_mentions_times(),
         visualize_user_location(),
         visualize_fans_year(),
         review_sentiment_analysis(),
         review_sentiment_score_analysis())
page.render("page_sample1.html")

最後出來的結果如下圖所示:

到此這篇關於以大熱劇《覺醒年代》為例用Python繪制可視化儀表盤的文章就介紹到這瞭,更多相關Python繪制可視化儀表盤內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: