首页 文章详情

从《觉醒年代》看如何用Python来绘制可视化仪表盘

数据森麟 | 336 2021-06-02 19:56 0 0 0
UniSMS (合一短信)


公众号后台回复“图书“,了解更多号主新书内容

     作者:俊欣

     来源:数据分析与可视化

有时候大家想把自己绘制好的可视化图片集中到一个页面,整合成仪表盘,集中给同事或者他人来呈现,但又不知道该怎么做,今天小编就来分享一个实用的第三方模块中的方法,而此次用到的数据便是最近大热门的民国历史剧《觉醒年代》的相关数据。被称为是继《走向共和》后的又一部历史神剧。自开播以来,豆瓣上的评分也是从最初的8.3分飙升到9.2分,并且在最近的上海电视节白玉兰奖中获得多项提名。

数据的可视化

Pyecharts中的页面组件Page能够很好地将许多绘制出来的页面组合到一个页面当中去,首先我们先导入需要用到的模块,
import pandas as pdfrom pyecharts.charts import Bar, Pagefrom pyecharts import options as optsfrom pyecharts.globals import ThemeTypefrom collections import Counterfrom 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")
最后出来的结果如下图所示:


◆ ◆ ◆  ◆ 

麟哥新书已经在当当上架了,我写了本书:《拿下Offer-数据分析师求职面试指南》,目前当当正在举行活动,大家可以用相当于原价5折的预购价格购买,还是非常划算的:






数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。


管理员二维码:

猜你喜欢

 卧槽!原来爬取B站弹幕这么简单

 厉害了!麟哥新书登顶京东销量排行榜!

 笑死人不偿命的知乎沙雕问题排行榜

 用Python扒出B站那些“惊为天人”的阿婆主!

 你相信逛B站也能学编程吗

good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter