ECharts实现豆瓣电影TOP250的四个图表可视化案例
创作时间:
作者:
@小白创作中心
ECharts实现豆瓣电影TOP250的四个图表可视化案例
引用
CSDN
1.
https://blog.csdn.net/No_Name_Cao_Ni_Mei/article/details/139925504
本文将介绍如何使用ECharts实现豆瓣电影TOP250的四个图表可视化案例。通过详细讲解柱状图、折线图和饼图的可视化设计思路,并提供相应的模拟数据代码,帮助读者快速掌握ECharts的基本使用方法。
思路
采用倒推的方式,首先确定可视化图表的效果,然后确定所需的基础数据,最后根据需要的数据进行按需爬取存储。本篇文章将完成前两步:可视化图表设计和模拟数据。
可视化设计
柱状图
- 豆瓣电影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);
年份最多的电影数量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]);
每年高分电影产量趋势
模拟数据
// 模拟豆瓣电影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轴数据
}
各类型电影占比
模拟数据
// 定义电影类型列表
var movieGenres = [
"剧情", "喜剧", "动作", "爱情", "科幻", "动画", "悬疑", "惊悚", "恐怖",
"纪录片", "短片", "情色", "音乐", "歌舞", "家庭", "儿童", "传记", "历史",
"战争", "犯罪", "西部", "奇幻", "冒险", "灾难", "武侠", "古装", "运动",
"黑色电影"
];
// 根据类型列表生成模拟数据
var pieChartData = movieGenres.map(function(genre) {
// 随机生成每种类型的电影数量,这里假设数量在50到500之间
var value = Math.floor(Math.random() * 451) + 50;
return {
value: value,
name: genre
};
});
完整代码
热门推荐
乙肝的后果会怎么样
东南亚之旅,探秘多元文化的魅力之地
这才是真传易筋经:古传易筋经本衙藏版和通行版口诀图谱对比研究
公司补缴社保对公司有什么影响
专家推荐:6类食物补充维生素A和D
Hyper-V虚拟机开启失败的解决方法
电子元器件采购渠道选择:如何找到优质供应商?
加密货币交易所十二:安全性和风险控制
文科理科分别有哪些科目?两者有什么区别?优势和劣势分析!
文科理科分别有哪些科目?两者有什么区别?优势和劣势分析!
历史上的扬州十日谜团:清军真的屠杀了80万人口吗?
昙花一现的小红书“赛博移民”,开启“文化出海”新篇章
Logo设计中字体选择的重要性
创业公司分红指南:机制、比例与流程全解析
深色蔬菜的营养价值
科学家实现大模型动态选取推理,优于静态推理技术等方法
蒜头这层别丢!蒜头6种抗氧化成分护心抗老
乌军使用电子干扰装备,抵御俄滑翔炸弹轰炸
原神最佳 Nilou 构建 – 技能、武器、材料等
原神最佳 Nilou 构建 – 技能、武器、材料等
【燃气灶选购指南】选对燃气灶 杜绝厨房安全隐患
如何撰写与修改论文:从初稿到定稿的完整指南
花“Young”新经济丨沉浸式体验 我们为何会为“氛围感经济”买单?
新桥村气象新:湖北英山乡村振兴示范村的美丽蜕变
如何写一份有效的遗嘱(附模版及注解)
完美工作“搭子”什么样?请听舰载机天团的答案!
古代金属的七彩光环:金、银、铜、铁、锡、铅、汞
杭州径山寺旅游攻略:一日游最佳路线
英国牛津大学Clarendon奖学金项目详细介绍
B-1-P 三联装180mm主炮Model1932