FLASK+ECHARTS+大屏

  1. 电影数据可视化的目的
    电影是工业、科技与艺术的结合产物,作为一种国际性的大众传播媒介,其必然与世界电影艺术潮流和国际电影市场密不可分。电影所具有的艺术性、经济型、文化性是与人们的生活密不可分的,因此不论从文化传播还是经济发展的角度来看,我们都需要对电影的发展趋势进行深入研究,从而更好的推动电影繁荣发展。
    本次项目中针对电影的多种数据指标进行可视化分析,从而对电影的发展趋势进行合理的分析解释。

  2. 电影数据可视化的意义
    随着互联网产业和电影产业的高速发展,二者的联系也越来越紧密,许多的互联网视频网站也应运而生,传统的互联网视频网站聚集了大量的电影资源,只为用户提供观看以及下载的渠道,而用户想在海量的影视资源中寻求合适的电影观看非常困难,为了给用户在海量的电影资源中作出客观合理的抉择提供一定的参考,从电影评分为切入点设计了电影数据的可视化。从电影类型的可视化可以看出大众的喜好以及电影行业的发展趋势,对演员和导演也有很大的参考价值。
    从电影数据可视化结果我们可以看到电影评分前十的评分变化清晰的,对他们的评分进行明确的对比;此外我们还可以看到每年票房的变化等情况估计电影的行情。

  3. 通用应用场景
    本次项目使用了柱状图展示每年电影票房的变化,柱状图适用于对比分类数据,展示多个分类的数据变化和同类别个变量之间的比较情况;使用了折线图展示了电影评分前十的评分趋势,折线图适用于有序的类别,展示数据随时间或有序类别的波动情况的趋势变化;使用饼图展示了类型电影数量占比和票房占比,饼图适用于了解数据的分布情况,用来展示各类别占比。使用双x轴展示了两年同月电影票房的差异,双x轴适合二维的数据集,一般用来表示趋势的变化,横轴一般为日期段,容易反映出数据变化趋势。

  4. 技术方案
    好的可视化设计一定是集易读、突出数据价值、易于分析、美观于一体的,最终让数据直观的展示给用户,方便交流。在本次项目的实现过程中,我分别使用了柱状图、折线图、饼图等来展示数据的特点,最后通过大屏直接明了的展示给用户。

  5. 技术实现过程
    css布局使用Layout响应式布局。左右布局,左边宽度固定,右边宽度自适应。可以强加一些逻辑,窗口在规定的范围内,显示一定的样式,超出范围设定
    其他的样式。响应式布局内,css语法同样正常使用,响应式布局之间存在不同屏幕尺寸的限制。采用响应式布局的页面,基本样式只做共性的样式设置,需要根据页面尺寸进行适应变化的样式均有响应式布局处理,要根据影视布局的页面处理所有屏幕尺寸下的样式块。
    应用的主题可以是一个主题的配置对象,也可以使用echarts.registerTheme注册的主题名称。我们在设计网页时,主题是主旨,所有内容围绕着首页的主题来描述。主题主要体现在网站的标题、关键词和描述上,其中最主要的是标题。
    在获取数据的时候,创建实体类,通过配置的SQL语句来获取数据集。使用echarts绘图,echarts支持dataset组件用于单独的数据集声明,从而数据可以单独管理,被多个组件复用,并且可以基于数据指定数据到视觉的映射。在首页设置超链接,通过点击相应的标题找到对应的数据可视化的结果。
    首先对电影票房前十的电影评分变化趋势进行数据可视化,因为大众需要一套普遍适用的标准或者评分作为参考。

图1.1 电影评分变化趋势图
对每年票房变化进行可视化,通过电影票房的变化我们可以看到电影产业的迅猛发展。根据数据,2013年是个转折点。

图1.2 每年电影票房变化图
因为一般上映的电影有很多的电影风格,如喜剧,惊悚等,我们直接对其进行分类并统计,饼状图更能体现其占比。

图1.3 类型电影数量占比图
通过对各种类型票房的占比,我们更能看出大众的喜爱以及现在的主流,看到什么样的电影卖的比较好。

图1.4 类型电影票房占比图
通过具体分析2015年,2016年每月的电影票房可以看出同月电影票房的差异。

图1.5 电影票房变化趋势图
通过echarts把几个图表展示在一个静态页面,更直接的展示数据。

图1.6 静态可视化大屏图
6. 总结
电影票房在前十的电影有国产片也有美国大片,其中评分比较高的是动画片和喜剧。在2013年以前,中国电影票房惨淡,自从电影产业改革以后,电影票房出现了转机,在2015年创了历史新高。电影的类型有很多,其实剧情片的数量最多,其次是喜剧和爱情片。剧情片的票房也占了很高的比重,其次是喜剧和动作片。
随着经济的发展,走进电影院的人越来越多,电影公司制作一部新电影推向市场时,要想获得成功,一定要了解电影市场趋势,观众喜好的电影类型,每种电影的收益情况,还要把握电影的上映时间。
经过这几天的学习,我了解到数据可视化本身就是一门学问,其主要体现的是对数据的提取,将其提取成我们需要的格式,其次就是选取模型,如饼状图,柱状图,折线图等,大屏的话,一定要注意画布的设计。一方面为了美观,另一方面为了更加方便和有效的阐述结论,所以数据可视化最为注重的就是直观,美观,高效地表达观点。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flask 是 Python 中一款轻量级的 Web 应用框架,而 ECharts 是一款由百度开发的数据可视化工具,支持多种图表类型和交互方式。本文将介绍如何使用 FlaskECharts 制作数据大屏。 1. 安装 FlaskECharts 首先需要安装 FlaskECharts,可以使用 pip 命令进行安装: ``` pip install Flask pip install pyecharts ``` 2. 构建 Flask 应用 创建一个名为 app.py 的 Python 文件,然后编写 Flask 应用代码: ```python from flask import Flask, render_template from pyecharts.charts import Bar from pyecharts import options as opts app = Flask(__name__) @app.route("/") def index(): # 构建数据 data = [("A", 23), ("B", 45), ("C", 67), ("D", 89)] # 构建图表 bar = ( Bar() .add_xaxis([x[0] for x in data]) .add_yaxis("数值", [x[1] for x in data]) .set_global_opts(title_opts=opts.TitleOpts(title="数据大屏")) ) # 渲染模板 return render_template("index.html", chart=bar.render_embed()) if __name__ == "__main__": app.run(debug=True) ``` 上面的代码中,我们首先导入了 Flask 和 pyecharts 库,然后创建了一个名为 app 的 Flask 应用实例。接着定义了一个名为 index 的路由,用于渲染数据大屏的首页。在 index 函数中,我们构建了一个简单的柱状图,然后使用 render_template 函数渲染名为 index.html 的模板,并将图表的 HTML 代码传递给模板。 3. 创建模板 在项目目录下创建一个名为 templates 的文件夹,然后在该文件夹下创建名为 index.html 的模板文件。在模板文件中,我们可以使用 Flask 提供的 Jinja2 模板语言,将图表的 HTML 代码插入到页面中: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>数据大屏</title> </head> <body> <div id="chart" style="width: 800px;height:400px;"></div> {{ chart|safe }} </body> </html> ``` 在上面的代码中,我们首先创建了一个 div 容器,用于显示图表。然后使用 {{ chart|safe }} 语句将图表的 HTML 代码插入到页面中,其中 safe 过滤器表示不对插入的代码进行转义。 4. 运行应用 完成上述步骤后,我们就可以运行应用了。使用命令行进入项目目录,然后执行以下命令: ``` python app.py ``` 然后在浏览器中访问 http://localhost:5000,就可以看到我们创建的数据大屏了。 总结 本文介绍了如何使用 FlaskECharts 制作数据大屏。通过本文的介绍,我们可以了解到如何使用 Flask 构建 Web 应用,并使用 ECharts 制作图表。当然,本文中的示例非常简单,实际应用中可能需要更复杂的数据处理和图表展示方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值