数据可视化课程设计/大作业---哔哩哔哩动漫数据可视化

目录

一、项目概述

1.1 项目背景与目的

​​​​​​​1.2 项目流程介绍

​​​​​​​1.3 项目第三方库介绍

二、数据分析与可视化

2.1 数据获取

2.1.1 数据爬取思路

2.1.2 数据爬取过程

2.1.3 数据爬取结果

2.2 数据预处理

2.2.1 数据质量评估

2.2.2 数据清洗

2.2.3 数据预处理结果

2.3 数据可视化

2.3.1 数据可视化概述

2.3.2 动漫产出地区分布比例的饼状图绘制

2.3.3 动漫产出地区分布-世界地图绘制

2.3.4 番剧评分情况的密度分布图和直方图绘制

2.3.5 不同年份下的番剧数量和追番人数折线图绘制

2.3.6 数量前十标签之间的相关性热力图绘制

2.3.7 番剧类型出现次数统计柱状图的绘制

2.3.8 番剧类型标签词云图绘制

2.3.9 不同类型番剧在不同年份的比例折线图绘制

2.3.10 番剧评分和追番人数之间的散点图绘制

三、结论与建议

3.1 数据分析与可视化结论

3.2 建议

四、课程收获与建议

4.1 课程收获

4.2 课程建议

附录

附录1:项目源代码

附录2:名词解释

END~


一、项目概述

1.1 项目背景与目的

​ b站全称哔哩哔哩,是中国最大的ACG动漫网站,也是中国目前事实上最大的线上宅文化社区。

其中动漫通常以一个季度播出,因而被称为番剧。涉及题材范围广,有奇幻,日常,战斗等。一部番剧上线后,在一段时间内追番人数将上升并维持在某个值内,因此追番人数能够反应观看人数。观看后观众可进行打分,范围在0到10之间,打分分数将作为评价一部番剧重要的依据。​​​​​​​

图1.1 哔哩哔哩LOGO

通过分析历年动漫数据,我们可以了解到b站ACG和动漫文化发展状况同时开展本项目的一个很重要的原因是我对ACG和动漫文化有着比较浓厚的兴趣,通过本次可视化项目,我对这方面的内容有了更深的认识。

​​​​​​​1.2 项目流程介绍

本项目首先通过爬虫技术从哔站番剧网站爬取相关数据。然后根据项目所需的信息对数据进行处理,得到处理后的数据并保存为xlsx文件;最后根据该数据进行可视化,并得到相关结论,给出建议。

​​​​​​​1.3 项目第三方库介绍

(1)requests 是一个 Python 中用于发送 HTTP 请求的第三方库。它提供了简单而优雅的 API,使得在 Python 中进行网络请求变得非常方便。

(2)Beautiful Soup是一个用于从HTML或XML文档中提取数据的Python库。它提供了一种 Pythonic 的方式来遍历文档、搜索特定的标签、提取数据等。Beautiful Soup 可以轻松地解析复杂的HTML和XML文档,使得数据提取变得更加方便

(3)pandas 是一个用于数据分析和处理的强大Python库。它提供了数据结构,如 Series 和 DataFrame,以及用于数据清理、准备、分析等任务的工具。pandas 极大地简化了对结构化数据的操作和分析。

(4)missingno 是一个用于可视化缺失值(missing values)的 Python 库。它提供了简单而直观的方法,帮助你理解数据集中缺失值的分布和模式。missingno 通常与 pandas 结合使用,用于对数据集的缺失值情况进行初步的可视化分析。

(5)matplotlib 是一个用于绘制图表和可视化数据的 Python 库。它提供了各种绘图选项,可以用于创建折线图、散点图、柱状图、饼图等多种图表类型。matplotlib 的设计目标是生成高质量的图形,同时保持简单易用。

(6)seaborn 是建立在 matplotlib 基础上的统计数据可视化库,提供了一些额外的功能,使得绘图更加方便、美观,并且在一些特定的情景下能够减少绘图的代码量。seaborn 提供了各种统计图表的高级接口,可以轻松地可视化复杂的数据集。

二、数据分析与可视化

2.1 数据获取

本次可视化项目将https://www.bilibili.com/anime/?spm_id_from=333.1007.0.0以及对应动漫链接网址作为数据来源具体数据通过爬虫实现。

2.1.1 数据爬取思路

本次主要爬取上述链接获得各个动漫粗略信息以及直达链接,再访问每个动漫对应链接获取详细信息,request从html中获得json,再从json中利用Beautiful Soup提取出对应信息

(1)通过总榜链接爬取出每部动漫的粗略json的核心代码如下:​​​​​​​​​​​​​​

图2.1.1 数据爬取思路I

最终每部动漫的简略信息都存储在一个列表中。

(2)通过动漫链接爬取其详细信息的核心代码如下:

图2.1.2 数据爬取思路II

在爬取动漫详细信息的核心代码中,设置了包含用户代理信息的头部。这个头部信息是向服务器发送的消息,模拟了浏览器的请求。通过精心设置的用户代理,我们向服务器传达了我们是正常的浏览器访问,而不是爬虫程序。这一步至关重要,因为如果头部信息不够精密,服务器可能会识别出我们的访问不是来自真实的用户,从而拒绝提供数据,或者甚至将我们的IP地址列入黑名单。因此,头部信息的设置是整个爬虫过程中最基础、最关键的一步之一,需要经过仔细思考和调整,以确保能够成功地获取所需数据。

2.1.2 数据爬取过程

首先,通过循环遍历页面页数(从第1页到第179页),依次访问每一页,并打印当前所在页数。在每一页中,调用函数get_listJson_from_urlSum(url_sum % page)获取当前页面的电影列表的JSON数据。

针对每一部电影的JSON数据,提取出电影的链接、标题、副标题、评分和排序信息。使用电影链接调用函数get_josn_from_url(link),获取电影的详细JSON数据。从详细JSON数据中提取出电影的发布时间、播放时间表和地区信息。

将提取的电影信息存储到DataFrame的一行中,包括标题、副标题、评分、排序信息、发布时间、播放时间表和地区信息。如下所示:

图2.1.3 数据爬取代码I

每成功爬取一部电影信息,打印相应的成功信息,并随机等待一段时间,以模拟人的操作,防止被网站识别为爬虫而被封禁。循环继续,直至爬取完所有页面的电影信息。

图2.1.4 数据爬取代码II

这样,最终得到的DataFrame包含了从该电影网站爬取的每部电影的相关信息。

2.1.3 数据爬取结果

由于得到的DataFrame包含了从该电影网站爬取的每部电影的相关信息,于是将其转换为excel文件'动漫数据.xlsx'。其部分内容如下所示:

·前23组数据展示

图2.1.5 数据爬取结果I

·后13组数据展示

图2.1.6 数据爬取结果II

整体上可以看出得到的'动漫数据.xlsx',列名和最初设置的一致,包含列名title、副标题subTitle、评分score、追番数order、播放时间time、类型table和地区信息area。总的数据条目数为2811.

从最后几行的数据可以看出很多动漫并没有副标题subTitle,出现NaN值,score列也出现了该情况,因此通过爬虫获取到的数据需要进一步进行处理才能进行最后的分析和可视化阶段。

注:具体的数据爬取实现代码见附录。

2.2 数据预处理

2.2.1 数据质量评估

本项目通过爬虫获取的数据集'动漫数据.xlsx'从整体上看并不具备完整性,部分列都存在NaN值,但由于互联网数据的实时更新,该数据集依旧具备较好的一致性、准确性和及时性。

2.2.2 数据清洗

数据清洗的主要目的是对缺失值、噪声数据、不一致数据、异常数据进行处理,使得清理后的数据格式符合标准,不存在异常数据等。

针对该数据集,主要存在的问题是存在较多缺失值,而'动漫数据.xlsx'中尚未发现噪声数据、不一致数据和异常数据。因此我们下面将主要对缺失值进行处理。

(1)首先删除不需要的列

待删除的列名为'Unnamed: 0',这是一个自动生成的索引列,通常在读取或导出 Excel 文件时会出现。这一列并非原始数据集中的某一列,而是 Pandas 在读取 Excel 文件时自动生成的索引列,用于标识每行数据的索引位置。由于它在读取后没有实际的用途,因此通常被视为不需要的列,并在处理过程中被删除。相关代码如下所示:

图2.2.1 数据清洗代码

删除前表格结构如下所示:

图2.2.2 删除前表格结构

删除后的表格结构:

图2.2.3 删除后表格结构

可以看出该索引列已被删除。

(2)绘制缺失值的矩阵图,用于可视化展示数据中的缺失情况

该功能需要调用missingno 库的 matrix 函数进行实现

msno.matrix(df, labels=True)  无效数据密度显示

得到的缺失值矩阵图如下:

图2.2.4 缺失值矩阵图I

同时统计出了每一列出现的缺失值数量,如下所示

表1 各列缺失值数量

title

0

subTitle

899

score

136

order

0

time

0

table

55

                                        area

0

结合缺失值矩阵图和上表可以得到:很大一部分动漫的副标题为缺失值,部分动漫的评分为缺失值,少数动漫的类型为缺失值。

(3)筛选出score列、subTitle列中出现缺失值的行

①score列

经统计,共有138条数据的score列为空,如下所示:

图2.2.5 socre列为空的部分数据

分析:对于该结果,我认为没有评分的主要原因是当时的评分系统并未开放或者评分的人数过少。

②subTitle列

统计后得到899行为空。

图2.2.6 subtitle为空的部分数据

分析:大部分漫画副标题为空,可能是动漫制作本身未添加副标题,属于正常现象。

(4)删除subTitle列同时删除score列中含有缺失值的行并将其应用到原DataFrame中

图2.2.7 数据处理核心代码

因为没有评分意味着为播出或者占比小,作删除操作。同时次标题对我们数据分析和可视化的影响较少,作删除操作。

2.2.3 数据预处理结果

(1)处理完缺失值数据后再次绘制缺失值矩阵图

图2.2.8 缺失值矩阵图II

分析:可以看到处理完后其他列数据均正常 ;只有table列部分数据为nan,但由于直接删去会影响较多其他列数据,因此保留table为nan的行,后面进行处理。


(2)将处理后的数据转换为excel文件

该环节最后需要将处理后的数据再次转换为excel文件'动漫数据_已处理.xlsx',部分内容如下所示:

图2.2.9 处理后的动漫数据部分内容

最后的处理结果与预期一致。

2.3 数据可视化

2.3.1 数据可视化概述

本项目首先通过爬虫技术获取了哔哩哔哩网站上的动漫数据,并在第二环节对其进行了预处理,得到了处理后的动漫数据,保存为'动漫数据_已处理.xlsx'。因此在数据可视化环节,我们需要对数据本身进行分析和考量,每一个可视化的结果都应该具有实际价值且与数据本身密切相关。

数据集具体结构如下:


图2.3.1 数据集结构

总共六列,分别是主标题、评分、追番人数、播放时间、类型和地区信息。

①首先从area列出发,我们尝试对番剧的产出地区分布进行统计,并绘制饼状图对其分布比例进行可视化。

②除此之外,受课堂上学习的利用Pyecharts绘制中国地图的启发,我绘制了一个世界地图显示动漫产出国家的分布情况。

③针对score列,即大多数人更关注的番剧评分情况,我绘制了番剧评分情况的密度分布图和直方图。

④针对order列和title列,我首先统计了不同年份的番剧数量和追番人次,然后根据此内容绘制不同年份下的番剧数量与追番人次折线图。

⑤针对番剧类型table列,我对数量前十的番剧标签进行了统计并据此绘制了热力图展示各类型标签之间的相关性。由于番剧类型比较重要,因此我继续对各类型标签的出现次数进行了统计,并绘制了柱状图进行可视化。

回归现实情况,观众的喜好很可能会随着时间的流逝逐渐改变,因此我继续绘制了三个番剧类型词云图,分别是2000-2009年、2010-2019年和2020-2023年。最后绘制了不同类型番剧在不同年份的比例变化。这样可以很清晰的展现番剧爱好者的的喜好变化。

⑥针对score列和order列,我绘制了番剧评分和追番人数之间的散点图,目的是可视化番剧评分与追番人数之间的关系,以便观察它们之间的趋势或关联。

2.3.2 动漫产出地区分布比例的饼状图绘制

(1)核心代码及过程分析

图2.3.2 饼状图核心代码

首先对地区数据进行了统计,将其存于变量area_value_count中,然后对各地区出现次数进行筛选,将出现次数小于25的设置为‘其他’。数据存入most_area,然后根据其进行饼状图绘制。

(2)绘制结果与分析

图2.3.3 动漫产出地区分布比例的饼状图

分析结果:

·日本是全球动漫产出的主要地区,占据了95.4%的产出量。

·美国和英国紧随其后,排名第二,但产出量相对较少,说明在全球动漫产业中,日本占据着绝对主导地位。

结论:综上所述,通过数据可视化和分析,确实显示出日本在全球动漫产业中的显著地位,这也符合我们对动漫产业的普遍认知。

2.3.3 动漫产出地区分布-世界地图绘制

(1)核心代码及过程分析

图2.3.3 世界地图核心代码

首先将上一步得到的地区数据赋值给value和attr列表,然后利用pyecharts中的Map模块进行世界地图绘制。在地图绘制之前,已经安装了世界地图的js文件,

因此能够顺利的绘制出世界地图,最终结果保存为html文件。

(2)绘制结果与分析

图2.3.4 动漫产出地区分布-世界地图

结果分析:绘制地图(Map)相对与饼状图的优势便是可以直观的显示出各个国家的分布情况,同时根据颜色深浅也可以清晰的判断出数据集中各个国家的番剧产出数量。

另外由于以html文件的形式呈现结果,鼠标停留在某个国家版图上可以直接显示其次数。

图2.3.5 动漫产出地区分布-世界地图鼠标停留显示

如上图所示,直观的显示出了数据中属于美国产出的番剧数量。

2.3.4 番剧评分情况的密度分布图和直方图绘制

(1)核心代码及过程分析

图2.3.6 密度分布图和直方图核心代码

这部分代码我采用了seaborn库中的sns.histplot 函数来绘制图形。这个函数可以通过设置参数 kde=True 来在直方图上叠加密度曲线。密度曲线是通过对数据进行平滑处理,使用核密度估计(KDE)的方法来绘制的。这个方法通过计算数据在每个点的概率密度,生成一条平滑的曲线来表示数据的分布。

另外我通过设置 color='green' 指定了直方图的颜色为绿色,而 alpha=0.7 则设置了图形的透明度,可以使直方图看起来更柔和。

(2)绘制结果

图2.3.7 番剧评分情况的密度分布图和直方图

结果分析:

可以从图中看出整体评分集中在9.5分附近,部分甚至能够达到9.9。至于原因我认为有以下两点:

·首先B站能够评分的必要条件是 必须看完该集才能打分,因此在评分人群筛选上已经将看不下去的人筛出。

·其次对于动漫番剧,含有粉丝滤镜,打分不仅仅是出于番剧的质量水平,也会受到原作动漫等其他因素影响。

2.3.5 不同年份下的番剧数量和追番人数折线图绘制

(1)核心代码及过程分析

图2.3.8 不同年份番剧数量和追番人数折线图核心代码

绘制该图形的目的是想把番剧数量和追番人数的变化放在同一张图中展现,实现不同年份下番剧数量与追番人次的趋势对比分析,从而更直观地了解番剧产业的发展情况。

具体实现方面,首先通过matplotlib.pyplot.subplots 创建一个包含两个 y 轴的图形,并且它们有不同的刻度。然后使用 every_year_public.plot 方法绘制追番人次和番剧数量的折线图,并将其添加到图形中。最后进行其他细节的设定,如颜色、大小、位置等。

(2)绘制结果与分析

图2.3.9 不同年份番剧数量和追番人数折线图

从图中可以看出

·从1990年开始,番剧人数和追番人次呈现出类指数增长趋势。

·番剧数量在2010年,2019年和2021出现突然下跌,在2021年后呈现快速下降。

·追番人次2000年开始快速上升,但和番剧数量一样,在2021年呈现同步快速下跌趋势。

分析原因(查阅相关资料):

·在1990年后,随着日本逐步走出泡沫经济,其思想领域的产出逐渐增加,这也促进了番剧的创作数量的增加。

·然而,到了2010年,由于Bilibili和AcFun之间的纠纷,日本番剧的引进数量出现了下降趋势。

·接近2019年,受到疫情的影响,日本动漫产能也受到了一定程度的下降。

·从2021年开始,Bilibili实行先审核后播出的方式,相比其他流媒体视频网站,其番剧的播出时间更晚,内容也经过删减,这导致了引进动漫的减少,同时在Bilibili追番的用户数量也出现了显著下降。

2.3.6 数量前十标签之间的相关性热力图绘制

(1)核心代码及过程分析

图2.3.10 热力图核心代码

首先将包含字符串列的 DataFrame 进行拆分,并对每个标签进行独热编码。然后,统计了每个标签的数量,并选取了数量前十的标签进行相关性分析。相关性分析通过计算这些标签之间的相关系数矩阵实现。最后,使用 seaborn 库绘制了一个热力图,展示了这些标签之间的相关性。热力图的颜色深浅表示了相关性的程度,而标注的数字则表示了相关系数的数值。通过绘制热力图,可以直观地了解数量前十的标签之间的相关性情况。

(2)绘制结果与分析

图2.3.11 数量前十标签之间的相关性热力图

从图中可以看出标签中前10的类别分别是 奇幻,日常,战斗,热血,科幻,搞笑,校园,萌系,治愈,冒险 。

分析相关热力图可得到很多结论,例如热血与战斗有较强正相关,而与日常明显负相关,符合我们的生活认知;另外我认为可将标签分为两大类:

·科幻,战斗,热血,奇幻,冒险 的节奏较快的热血王道动漫

·治愈,日常,萌系,搞笑,校园 的节奏较缓的日常番剧动漫

2.3.7 番剧类型出现次数统计柱状图的绘制

(1)首先对table列数据进行进一步处理

由于本部分不是对数据表格进行直接处理,只是为了便于统计。

因此该部分处理不划入数据预处理版块。具体是先通过Counter计算每个元素的个数,然后去除掉与动漫类型无关的条目,包括漫画改、小说改、原创、游戏改和NaN值。如下代码所示

图2.3.12 table列数据统计核心代码

最终得到了一个含有每种番剧类型及其数量的字典,如下所示。

Counter({'': 1029, '奇幻': 755, '日常': 538, '战斗': 475, '热血': 437, '科幻': 380, '搞笑': 324, '校园': 309, '萌系': 285, '治愈': 274, '冒险': 236, '架空': 215, '恋爱': 186, '少女': 154, '运动': 119, '泡面': 105, '穿越': 101, '机战': 101, '音乐': 93, '声控': 88, '智斗': 79, '魔法': 79, '偶像': 74, '励志': 70, '推理': 69, '少儿': 61, '社团': 60, '催泪': 57, '特摄': 50, '动画': 48, '时泪': 47, '乙女': 44, '历史': 43, '职场': 36, '神魔': 35, '美食': 34, '悬疑': 13, '剧情': 10, '动作': 10, '萝莉': 7, '喜剧': 4, '爱情': 4, '恐怖': 2, '惊悚': 2, '歌舞': 1})

(2)柱状图绘制的核心代码及过程分析

图2.3.13 柱状图核心代码

我通过调用 plt.bar() 函数绘制了一个柱形图,图形的横坐标为番剧类型,纵坐标为对应类型出现的次数。并将颜色设置为天蓝色 (skyblue)。

同时为了防止 x 轴标签重叠,我使用了 plt.xticks() 函数将标签进行倾斜显示,并调整了布局以确保标签不被截断。最后,调用 plt.show() 函数显示了绘制的柱形图。

(3)绘制结果与分析

图2.3.14 番剧类型出现次数统计柱状图

分析:

从柱状图中可以看出,奇幻, 日常 , 热血、悬疑、恋爱占据较多,大部分的动漫番剧题材偏向大众较能接受的方面。大体上还是可以分为两类:热血动漫和日常番剧。我认为原因有以下几个:

·广泛的受众群体: 奇幻、日常、热血、悬疑和恋爱等题材通常能吸引广泛的受众,无论是男性还是女性,不同年龄段的观众都能找到自己喜欢的内容。

·情感共鸣: 这些题材往往涉及人们生活中普遍存在的情感和经历,比如恋爱番剧,观众更容易产生情感共鸣,从而增加了他们对作品的投入程度。

·情节丰富: 奇幻、悬疑等题材通常具有复杂多变的情节和世界观,能够吸引观众的好奇心和探索欲望,使他们更愿意追随剧情发展。

·文化输出: 这些题材的动漫作品往往能够输出特定文化元素,吸引国内外观众,推动动漫产业的发展。

2.3.8 番剧类型标签词云图绘制

(1)核心代码及过程分析

我首先使用了WordCloud库创建了一个WordCloud对象,并指定了字体。Hiragino Sans GB.ttc中文字体下载自网络,将其移入当前路径即可。然后通过plt.subplots()函数创建了一个包含3个子图的图形,并设置大小。接着使用generate()方法生成每个时间段的词云图,传入了相应的数据并对每个子图使用imshow()方法显示词云图。

查阅相关资料后,我设置插值方法为"bilinear",用于改善图像质量。另外使用axis("off")方法隐藏了坐标轴,可以使词云图更加美观。最后使用set_title()方法设置了每个子图的标题。这样做可以方便地比较不同时间段的番剧类型词云统计图,以便进一步分析各时间段的番剧类型分布情况。

 图2.3.15 词云图核心代码

(2)绘制结果与分析

图2.3.16 番剧类型标签词云图

分析:

从图中可以直观的得到很多信息,如下列出:

·奇幻、热血、科幻题材在不同年份之间一直保持较高的占比

·少女题材不断走弱

·日常,校园,搞笑题材在后10年占比提升 

·恋爱题材占比比较稳定

原因:

随着经济的不断发展和生活节奏的加快,现代社会中的生活压力不断增加,这对娱乐消费模式产生了深远影响。从过去以热血王道漫画为主导,到逐渐转向更贴近日常生活、轻松愉快的题材,这一趋势在番剧类型中也得到了体现。特别是搞笑题材的番剧,在番剧市场中占据越来越大的比例,这反映了人们对于通过娱乐节目获得快乐、缓解压力的需求不断增加的趋势。

此外,奇幻题材作为动漫与现实之间的重要区别之一,在番剧中也占据着相当高的受众份额。奇幻题材的番剧往往具有想象力丰富、世界观构建独特等特点,吸引了一大批观众,尤其是那些渴望逃离现实、沉浸于幻想世界的群体。

综上所述,我认为番剧类型的变化不仅反映了大众娱乐消费习惯的演变,也折射了社会发展和个体心理需求的变化。通过深入分析番剧类型的演变趋势,可以更好地理解现代人的文化消费倾向和心理状态。

2.3.9 不同类型番剧在不同年份的比例折线图绘制

(1)核心代码及过程分析

图2.3.17 不同类型番剧在不同年份的比例折线图核心代码

我首先通过applymap函数将表中的字符串类型的数据转换为字典类型的计数器对象,表示每年各种番剧类型的数量。然后,我使用applymap再次对数据进行处理,计算每种类型番剧在每年的比例。接着,提取了不同类型的番剧作为图例,并遍历每种类型,绘制了对应的线图。最后,我添加了适当的标签和标题,以便更好地理解图表内容。整个过程目的是展示不同类型番剧在不同年份的比例变化趋势。在本次绘制中,我选择了占比前三的番剧标签,即奇幻、日常和恋爱。最终得到结果是三个折线图绘制在同一张图中的图形。

(2)绘制结果与分析

图2.3.18 不同类型番剧在不同年份的比例折线图

分析:

从图中可以看出,在番剧题材分析中,奇幻题材一直占据着较大的比例相比之下,日常题材则呈现了先上升后下降的趋势,可以观察到在早期年份日常类型的比例逐渐增加,但随后呈现下降的趋势。而恋爱题材在2010年后呈现出上升的趋势,通过观察图表中恋爱类型的线条可以看出这一趋势的确立。变化原因与词云图类似,可以说番剧题材的趋势变化与观众对不同类型番剧的需求和偏好密切相关。

2.3.10 番剧评分和追番人数之间的散点图绘制

(1)核心代码及过程分析

图2.3.19 散点图核心代码

绘制此散点图的最开始并不是在我的计划之内,而是在对动漫数据进行多次观察偶然发现番剧评分和追番人数之间可能存在某种关系后,才开始进行散点图的绘制。

我首先将DataFrame中的"追番人数"列转换为数值型数据,使用正则表达式提取数字部分,并将其转换为浮点数类型。接下来,利用Seaborn绘制散点图,设置横轴、纵轴及标题。最后,通过plt.show()显示图形。这段代码的目的是可视化番剧评分与追番人数之间的关系,以便观察它们之间的趋势或关联。

(2)绘制结果与分析

图2.3.20 番剧评分和追番人数之间的散点图

分析:

散点图显示,追番人数超过1000万的番剧,评分普遍在9分以上,形成了一条明显的上升趋势线。而对于追番人数较低的番剧,评分虽然也有一定比例达到了8分以上,但整体上评分较低的番剧追番人数相对较少。

原因:

我认为追番人数与评分之间的这种关系可以有几种解释。首先,追番人数的增加可能意味着更多的人观看了番剧,并且他们大多对其给予了积极的评价,从而提高了番剧的平均评分。其次,高追番人数可能意味着番剧在社交媒体或口碑传播中受到了广泛的推荐和赞扬,这进一步促使更多的人加入追番行列,从而形成了一个良性循环。

另外,一些评分较低但追番人数较多的情况可能是因为该番剧的主题或内容吸引了特定群体的兴趣,尽管其评分并不代表所有观众的共识。至于评分较低且追番人数也相对较少的情况,则大概率是番剧内容不够吸引观众或者传达的理念不够积极,有比较大的提升空间。

最后,评分较高但追番人数较低的番剧可能是因为其受众群体相对较小,虽然受欢迎程度不高,但在特定群体中依然备受推崇。当然也可能是番剧上映时间比较短,收看的人数不够多。综上所述,追番人数与评分之间的关系受到多种因素的影响,包括观众口碑、社交媒体传播和目标受众等因素。

三、结论与建议

3.1 数据分析与可视化结论

在本次数据分析与可视化过程中,我对动漫数据进行了全面的预处理和可视化分析,得出了以下结论:

·动漫产出地区分布:通过饼状图和世界地图展示了动漫产出地区的分布比例,发现日本占据绝大部分,约95.4%,而美国和英国紧随其后。

·番剧评分情况:通过密度分布图和直方图分析了番剧评分情况,发现大多数番剧评分集中在高分区间,整体质量较高,部分番剧评分甚至能够达到9.9。

·番剧数量和追番人数趋势:通过折线图展示了不同年份下的番剧数量和追番人数的变化趋势,发现番剧数量和追番人数从1990年开始呈现类指数增长趋势,但近年来存在小幅度的下降。

·标签之间相关性:通过热力图分析了数量前十标签之间的相关性,发现不同标签之间存在着不同的相关性,如“热血”与“战斗”呈正相关关系,与“日常”呈负相关关系。

·番剧类型分析:通过柱状图展示了各种番剧类型的出现次数,发现奇幻、日常、热血、悬疑、恋爱等类型出现次数较多,更受大众喜爱。同时,通过词云图和多元折线图揭示了番剧类型在不同年份的变化趋势。

·追番人数与番剧评分关系:通过散点图展示了追番人数与番剧评分之间的关系。观察散点图可以发现,通常情况下,番剧评分较高的作品往往吸引了更多的追番人数,呈现出一种正相关的趋势。这表明观众对于高质量番剧的喜爱程度与其追番的热度密切相关。然而,也可能存在一些例外情况,即某些评分较高的番剧吸引的追番人数较少,这可能受到宣传力度、题材特点以及观众口味的影响。

3.2 建议

结合数据分析与可视化结果,我觉得可以进一步深入以下方向:

①调查近年来番剧数量和追番人数下降的原因,可能需要对消费者需求、市场竞争、内容创新等方面进行调研和分析。

②结合用户画像和市场趋势,优化动漫内容的制作和推广策略,针对受欢迎类型进行更多投入。

③进一步研究评分高的动漫和追番人数之间的因果关系,探索提升动漫品质和吸引观众的方法。

上述建议更多的是给番剧制作方、平台运营方、内容创作者等相关从业者。而对于广大观众及动漫爱好者来说,我觉得也可以采取如下建议:

①关注番剧评分:观众可以在选择追番作品时参考番剧的评分,通常评分较高的作品质量更有保障,可能更符合个人口味。

②探索不同类型:尝试多样化的番剧类型,不局限于一种题材或风格,这样可以发现更多自己喜欢的作品。

③参与评价和讨论:积极参与番剧的评价和讨论,可以与其他观众分享看法和体验,也能为自己的选择提供更多参考。

④支持优质作品:喜欢的番剧可以通过合法渠道支持正版,例如购买正版周边、付费观看等方式,以支持制作方创作更多优质内容。

⑤保持理性:尽管追番人数和评分可以作为参考指标,但观众也要根据自己的喜好和观看体验做出选择,不必过于受外部评价的影响。

四、课程收获与建议

4.1 课程收获

本学期的数据可视化课程虽然只有短暂的十周课程安排,但经过老师每周的理论+实验课的训练和实践,我很好的掌握了很多数据可视化知识和技巧。

从最开始的数据分析开始,我了解了数据分析它是统计分析和数据挖掘的结合。同时在老师的引领下,我重新复习且掌握了python中一些与数据可视化密切相关的知识,并安装了与可视化相关的库。

通过数据预处理这一章的学习,我对数据的特征和分类有了一个更深的了解。同时数据质量也是十分重要的,它是数据分析结果有效性和准确性的前提保障。数据清洗是数据预处理中最关键的一步,它主要目的是对缺失值、噪声数据、不一致数据、异常数据进行处理,使得清理后的数据格式符合标准,不存在异常数据等。

随后我学习了数据分析的基础工具库-Numpy,并熟练掌握了它的相关语法和基本操作。还有用于处理结构化数据的Pandas库、用于绘图的matplotlib库。

通过课堂上的学习和实验的摸索,我掌握了使用matplotlib库实现直方图、散点图、折线图等基本图形的绘制,当时感觉十分有趣的是所有绘制的图形均可以通过调节适当的参数实现图形的多种变换,如颜色、位置、大小的改变。

   数据可视化同样是一门综合性很强的课程,与上学期学习的机器学习有着比较密切的关系。在老师的指导下,我掌握了一些常用的分析方法,如聚类分析、关联分析和回归分析等,并能运用其分析一些常见的问题。

   整个课程我最感兴趣的内容就是PyEcharts绘图和Seaborn绘图。虽然难度较最开始的matplotlib绘图稍大,但其能够绘制的图形种类十分多样。

对于PyEcharts绘图,除了掌握课堂上学习的基本图形如柱状图、饼状图、中国地图、词云图和词云图的绘制外,我还去查阅资料并学习了世界地图的绘制方法,并应用到了本次项目中。当熟悉的世界地图从窗口弹出时,一种新奇感让我对这一课程有了更浓厚的兴趣。

对于Seaborn绘图,首先学习了它的一些绘图基础,随后开始利用其进行关系图、分类图和回归图的绘制。实验课上老师要求我们把课件上的图形全部自己绘制一次,虽然过程比较繁杂,需要绘制超过20张图形,但最后也是熟练掌握了关系图、分类图和回归图的绘制方法。

在课程的最后,简单了解了绘制动态图形的方法,还掌握了在Excel表中嵌入图形的方法。

总之,在这半个学期的学习过程,学到了很多,也体会了实践的重要性。很多时候一些图形的的绘制方法和部分库的函数并不能很清楚的记住,但经过一些图形绘制实践后,都能很好的掌握和记忆。

4.2 课程建议

老师这学期的数据可视化教学十分细心且严谨,让我们学到了很多,从理论延伸到实践。至于建议,我浅提以下几点:

①我认为数据可视化最合适的开课学期是大二下学期。因为数据可视化中的多种绘图方法在数学建模比赛中具有很大的作用,多种绘图方法的运用会让最终的论文图表更加美观、高级。其次,虽然数据可视化与机器学习有着密切的关系,但上学期机器学习实验课让我觉得数据可视化是机器学习的前驱课程。有了数据可视化的学科基础,在对数据进行处理和分析会更加得心应手,也便于更好的运用机器学习方法。当然以上内容仅为个人看法。

②如果老师能把实验课的任务在上课前几分钟公布,或许实验课同学们的目的性会更强,可以节省很多等待时间用来思考和回顾。当然十分理解老师的安排和良苦用心!

最后,也是很感谢老师这学期的教导!相信这学期《数据可视化》的学习

也必然会对日后的课程学习和学科竞赛等起到一个良好的奠基作用。

附录

附录1:项目源代码

~~~

附录2:名词解释

爬虫(Spider)

爬虫,又称网络爬虫、网络蜘蛛或网络机器人,是一种自动化程序或脚本,用于在互联网上自动浏览、抓取网页内容,并将抓取的数据进行提取、分析或存储。爬虫通常由搜索引擎、数据挖掘工具、网站监测系统等使用,用于收集互联网上的信息以及更新搜索引擎的索引。然而,在使用爬虫时需要遵守网站的规则和法律法规,以避免侵犯他人的权益和违反法律。

END~

享受过程就不要考虑结果
考虑结果就不要享受过程

  • 30
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论
好的,下面是微信-哩小程序一级页面设计的实验过程: 1. 确定页面主题和风格 首先需要确定页面的主题和风格,例如是娱乐、科技、教育等。确定好主题和风格后,需要考虑页面的色彩搭配、字体、布局等方面,以保证整个页面的统一性和美观度。 2. 设计页面布局 根据页面的主题和功能需求,设计页面的布局,包括页面的导航栏、内容区、底部标签等。需要注意的是,页面的布局应该简洁明了,不要过于复杂,以方便用户浏览和操作。 3. 设计页面元素 根据页面的布局,开始设计页面的元素,如图片、文字、按钮等。需要注意的是,页面的元素应该符合页面的主题和风格,并且要有足够的吸引力,以吸引用户的注意力。 4. 进行页面原型设计 在确定好页面布局和元素后,可以进行页面原型设计,将设计好的元素按照布局进行排版,形成页面的原型。需要注意的是,原型的设计应该符合用户的使用习惯和心理需求,以提高用户的体验度。 5. 进行页面UI设计 在完成页面原型设计后,可以进行页面UI设计,将原型的元素进行美和优,以提高页面的美观度和用户的体验度。需要注意的是,UI设计应该符合页面的主题和风格,并且要有足够的吸引力,以吸引用户的注意力。 6. 进行页面测试和优 在完成页面UI设计后,可以进行页面测试和优,检查页面的各个方面是否符合设计要求,并进行必要的优和改进,以提高页面的效果和用户的体验度。 以上是微信-哩小程序一级页面设计的实验过程,希望能对你有所帮助。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长安er

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值