豆瓣电影Top250的可视化分析

简介: 本文旨在实现豆瓣电影TOP250的可视化,通过确定柱状图、折线图和饼图等图表设计,展示评价人数最多、年份分布及类型占比。模拟数据用于演示,例如评价最多的电影、年份最多的电影数量及每年高分电影趋势。完整代码可下载,包含ECharts实现的四种图表。

本文要完成的目的,实现豆瓣电影TOP250的可视化

思路

讲解思路,采用倒推的方式,

  • 首先确定可视化图表,也就是最终的效果。
  • 这样就能确定需要那些基础数据
  • 根据需要的数据进行按需爬取存储。

豆瓣电影Top250的可视化分析

本篇文章完成前两步。可视化图表设计 和 模拟数据。

可视化设计

image-20240624140308517

柱状图:

【豆瓣电影TOP250】评价人数最多的电影top10

  • 统计对象:电影评分TOP600
  • 统计目的:豆瓣电影TOP250
  • X轴数据:电影评价人数
  • Y轴数据:电影名

【豆瓣电影TOP250】年份最多的电影数量top10

  • 统计对象:电影评分TOP600的电影
  • 统计目的:年份最多的电影数量top10
  • X轴数据:电影数量值
  • Y轴数据:电影年份值

折线图

【豆瓣电影TOP250】每年高分电影产量趋势

  • 统计对象:豆瓣电影TOP250
  • 统计目的:每年高分电影产量趋势
  • X轴数据: 电影年份
  • Y轴数据: 当年电影数量

饼图

豆瓣电影TOP250各类型电影占比

  • 统计对象:豆瓣电影TOP250
  • 统计目的:展示不同类型电影在评分TOP600中的比例
  • 图表数据:各类型电影的数量

评价人数最多的电影top10

模拟数据

    // 假设这是获取到的豆瓣电影TOP250评价人数最多的电影TOP10的数据
    var movieData = [
        // 电影名, 评价人数
        ["肖申克的救赎", 1000000],
        ["霸王别姬", 950000],
        ["阿甘正传", 900000],
        ["这个杀手不太冷", Math.floor(Math.random() * 800000) + 100000], // 随机生成100000到900000的评价人数
        ["千与千寻", Math.floor(Math.random() * 800000) + 100000],
        ["泰坦尼克号", Math.floor(Math.random() * 800000) + 100000],
        ["盗梦空间", Math.floor(Math.random() * 800000) + 100000],
        ["星际穿越", Math.floor(Math.random() * 800000) + 100000],
        ["楚门的世界", Math.floor(Math.random() * 800000) + 100000],
        ["三傻大闹宝莱坞", Math.floor(Math.random() * 800000) + 100000],
        ["忠犬八公的故事", Math.floor(Math.random() * 800000) + 100000]
    ];
    // 确保评价人数是降序排列
    movieData.sort((a, b) => b[1] - a[1]);
    // 只保留评价人数最多的前10部电影
    movieData = movieData.slice(0, 10);

image-20240624140549065

年份最多的电影数量top10

模拟数据

     // 模拟豆瓣电影TOP250的电影年份和对应的数量
    var simulatedData = [];
    for (let i = 1990; i <= 2020; i++) {
   
    // 假设我们只考虑1990年到2020年的电影
        let count = Math.floor(Math.random() * 50) + 1; // 随机生成1到50部电影的数量
        simulatedData.push([i, count]);
    }

    // 按照电影数量进行降序排序,获取年份最多的电影数量top10
    simulatedData.sort((a, b) => a[1] - b[1]);
    simulatedData = simulatedData.slice(0, 10);

    // 提取X轴和Y轴的数据
    var xAxisData = simulatedData.map(item => item[1]);
    var yAxisData = simulatedData.map(item => item[0]);

image-20240624140735448

每年高分电影产量趋势

模拟数据

    // 模拟豆瓣电影TOP250每年高分电影的产量
    var yearData = []; // 存储年份
    var productionData = []; // 存储每年高分电影的产量

    for (let i = 1990; i <= 2020; i++) {
   
   
        // 随机生成1到50部电影的数量,模拟每年高分电影的产量
        let count = Math.floor(Math.random() * 50) + 1;
        yearData.push(i); // 添加年份到X轴数据
        productionData.push(count); // 添加电影产量到Y轴数据
    }

image-20240624140923496

各类型电影占比

模拟数据

// 定义电影类型列表
    var movieGenres = [
        "剧情", "喜剧", "动作", "爱情", "科幻", "动画", "悬疑", "惊悚", "恐怖",
        "纪录片", "短片", "情色", "音乐", "歌舞", "家庭", "儿童", "传记", "历史",
        "战争", "犯罪", "西部", "奇幻", "冒险", "灾难", "武侠", "古装", "运动",
        "黑色电影"
    ];

    // 根据类型列表生成模拟数据
    var pieChartData = movieGenres.map(function(genre) {
   
   
        // 随机生成每种类型的电影数量,这里假设数量在50到500之间
        var value = Math.floor(Math.random() * 451) + 50;
        return {
   
   
            value: value,
            name: genre
        };
    });

image-20240624140916700

完整代码

点我下载:echarts实现豆瓣Top250可视化【四个图表-完美融合UI搭配设计和模拟数据】.rar

目录
相关文章
|
7月前
|
监控 安全 数据可视化
人员定位软件系统从核心架构、关键功能、主流技术、典型应用与选型要点详解
人员定位软件系统以定位引擎与管理平台为核心,融合终端与网络,实现人员实时定位、安全管控及智能管理,适用于工厂、矿山、工地等场景,支持高精度定位、电子围栏、应急报警、考勤管理,并可集成视频监控等系统,提升安全与运营效率。如果您想进一步了解人员定位的案例,欢迎关注、评论留言~也可搜索lbs智能定位。
|
安全 Linux 虚拟化
Rocky Linux 10 - RHEL 100% 1:1 兼容免费发行版
Rocky Linux 10 - RHEL 100% 1:1 兼容免费发行版
1121 34
Rocky Linux 10 - RHEL 100% 1:1 兼容免费发行版
|
9月前
|
JSON 安全 API
技术探索 | 淘宝平台商品评论数据获取方法与接口浅析
本文探讨获取淘宝商品评论数据的合规与技术路径,涵盖官方API申请、非官方接口逆向分析及爬虫实现难点,强调遵守平台规则与数据安全法规,建议优先采用合法渠道或第三方服务替代。
|
人工智能 JavaScript 数据可视化
AI + 低代码技术揭秘(八):UI 组件库
vtj/ui 是基于 Vue 3 的组件库,为 VTJ 低代码平台提供丰富的 UI 基础组件,涵盖表单、数据网格、对话框等,支持模块化开发与 TypeScript,助力高效构建可视化应用界面。
584 57
|
自动驾驶 安全 物联网
2G、3G、4G与5G技术:主要区别详解
2G、3G、4G与5G技术:主要区别详解
9549 14
|
存储 Oracle 关系型数据库
数据库数据恢复—ORACLE常见故障的数据恢复方案
Oracle数据库常见故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、ORACLE数据文件丢失。 4、ORACLE数据文件部分损坏。 5、ORACLE DUMP文件损坏。
668 11
|
数据采集
动态代理与静态代理在爬虫解析的优缺点
随着科技和互联网的发展,越来越多企业需要使用代理进行数据抓取。本文介绍了HTTP动态代理与静态代理的区别,帮助您根据具体需求选择最佳方案。动态代理适合大规模、高效率的爬取任务,但稳定性较差;静态代理则适用于小规模、高稳定性和速度要求的场景。选择时需考虑目标、数据量及网站策略。
349 4
|
Android开发 开发者
关于将Android AAB转化为APK
本篇文章主要讲如何将AAB转化为APK,虽然说我们上传到Google Play的AAB,是有Google Play自己去转化为APK给用户下载的,但是作为开发者的我们,也是需要知道应该如何转化的,毕竟我们还是要做测试的,当你拿到一个AAB文件的时候,你得知道如何将它转化成APK,然后安装在手机上,测试需要测试的内容。
2274 1
|
数据采集
豆瓣图书TOP250爬取
豆瓣图书TOP250爬取
626 0