当前位置: 首页 > wzjs >正文

洛阳网络公司西安seo外包服务

洛阳网络公司,西安seo外包服务,网上商城系统,做展会怎么引流到自己的网站答案: // TODO: 待补充代码// 初始化图表的数据,设置周视图的初始数据 option.series[0].data [180, 274, 253, 324, 277, 240, 332, 378, 101]; // 周数据(每周的总学习时长) option.xAxis.data ["2月第1周", "…

答案:

// TODO: 待补充代码// 初始化图表的数据,设置周视图的初始数据
option.series[0].data = [180, 274, 253, 324, 277, 240, 332, 378, 101]; // 周数据(每周的总学习时长)
option.xAxis.data = ["2月第1周", "2月第2周", "2月第3周", "2月第4周", "3月第1周", "3月第2周", "3月第3周", "3月第4周", "3月第5周"]; // 周标签(每周的时间段)
myChart.setOption(option); // 将配置应用到图表,初始化为周视图// 定义变量用于存储月视图的数据
let xMonthSeries; // 存储月份标签(如 ["2月", "3月"])
let yMonthSeries; // 存储每月的总学习时长(如 [总时长1, 总时长2])// 定义一个求和函数,用于计算数组中所有元素的总和
function sum(arr) {return arr.reduce((total, value) => total += value, 0); // 使用 reduce 方法对数组进行累加,初始值为 0
}// 获取数据:从 data.json 文件中加载数据
axios.get('./data.json').then(({ data: { data } }) => {console.log(data); // 打印从 data.json 中获取的数据,便于调试// 提取月份标签(即对象的键,如 "2月"、"3月")xMonthSeries = Object.keys(data); // 获取对象的所有键,形成月份标签数组// 计算每个月的学习总时长yMonthSeries = [sum(Object.values(data)[0]), // 第一个月(如 "2月")的学习时长总和sum(Object.values(data)[1])  // 第二个月(如 "3月")的学习时长总和];
});// 监听 Tab 切换事件:实现“周”和“月”视图的切换
let tabs = document.getElementsByClassName('tab'); // 获取所有的 tab 元素
for (let index = 0; index < tabs.length; index++) {tabs[index].addEventListener('click', (e) => {console.log(e.target.textContent); // 打印当前点击的 Tab 标签内容("周" 或 "月")if (e.target.textContent === '月') {// 如果点击的是“月”Tab,则切换为月视图option.series[0].data = yMonthSeries; // 设置月视图的 y 轴数据(每月的总学习时长)option.xAxis.data = xMonthSeries;   // 设置月视图的 x 轴数据(月份标签)myChart.setOption(option);          // 应用新的配置到图表} else if (e.target.textContent === '周') {// 如果点击的是“周”Tab,则切换为周视图option.series[0].data = [180, 274, 253, 324, 277, 240, 332, 378, 101]; // 恢复周视图的 y 轴数据option.xAxis.data = ["2月第1周", "2月第2周", "2月第3周", "2月第4周", "3月第1周", "3月第2周", "3月第3周", "3月第4周", "3月第5周"]; // 恢复周视图的 x 轴数据myChart.setOption(option); // 应用新的配置到图表}});
}

详细注释说明

1. 初始化图表数据
  • option.series[0].data 和 option.xAxis.data
    • 这是 ECharts 图表的核心数据部分。
    • series[0].data 表示 y 轴数据(如每周的学习时长)。
    • xAxis.data 表示 x 轴数据(如每周的时间段)。
    • 在这里,我们设置了初始的周视图数据。
2. 定义变量
  • xMonthSeries 和 yMonthSeries
    • 这两个变量用于存储月视图的数据。
    • xMonthSeries 是月份标签(如 ["2月", "3月"])。
    • yMonthSeries 是每月的学习时长总和(通过 sum 函数计算得出)。
3. 求和函数
  • sum(arr)
    • 使用 reduce 方法对数组中的所有元素进行累加。
    • reduce 的回调函数接收两个参数:累积值 total 和当前值 value
    • 初始值为 0,确保即使数组为空,返回值也是 0
4. 获取数据
  • axios.get('./data.json')
    • 使用 Axios 发起 HTTP GET 请求,从 data.json 文件中加载数据。
    • { data: { data } } 是解构赋值,直接提取响应中的 data 部分。
    • Object.keys(data) 获取对象的所有键,形成月份标签数组。
    • Object.values(data) 获取对象的所有值(即每月的学习时长数组),并调用 sum 函数计算总和。
5. 监听 Tab 切换
  • document.getElementsByClassName('tab')
    • 获取页面中所有的 tab 元素(即“周”和“月”按钮)。
  • addEventListener('click', ...)
    • 为每个 tab 添加点击事件监听器。
    • 当用户点击某个 Tab 时,根据其内容(e.target.textContent)判断是“周”还是“月”。
    • 根据判断结果,动态更新 option 的数据,并调用 myChart.setOption(option) 更新图表。

1. 初始化图表数据

option.series[0].data = [180, 274, 253, 324, 277, 240, 332, 378, 101];
option.xAxis.data = ["2月第1周", "2月第2周", ..., "3月第5周"];
myChart.setOption(option);
  • option 是一个配置对象,用于设置图表的数据和样式。
  • series[0].data 是图表的数值数据(如柱状图的高度)。
  • xAxis.data 是图表的横轴标签(如时间周期)。
  • myChart.setOption(option) 将这些配置应用到图表中,初始显示的是“周”维度的数据。

2. 定义变量和函数

let xMonthSeries;
let yMonthSeries;function sum(arr) {return arr.reduce((total, value) => total += value, 0);
}
  • xMonthSeries 和 yMonthSeries 是两个变量,分别用于存储“月”维度的横轴标签和纵轴数据。
  • sum 函数用于计算数组中所有元素的总和(例如 [1, 2, 3] 的总和是 6)。

3. 获取数据并处理

axios.get('./data.json').then(({ data: { data } }) => {console.log(data);xMonthSeries = Object.keys(data);yMonthSeries = [sum(Object.values(data)[0]),sum(Object.values(data)[1])];
});
  • 使用 axios.get 从文件 data.json 中获取数据。
  • 假设 data.json 的内容如下:
    {"2月": [180, 274, 253, 324],"3月": [277, 240, 332, 378, 101]
    }
  • Object.keys(data) 提取键(即月份),结果为 ["2月", "3月"],赋值给 xMonthSeries
  • Object.values(data) 提取值(即每个月对应的数组),然后用 sum 函数计算每个数组的总和,结果为 [1031, 1328],赋值给 yMonthSeries

4. 监听 Tabs 点击事件

let tabs = document.getElementsByClassName('tab');
for (let index = 0; index < tabs.length; index++) {tabs[index].addEventListener('click', (e) => {console.log(e.target.textContent);if (e.target.textContent === '月') {option.series[0].data = yMonthSeries;option.xAxis.data = xMonthSeries;myChart.setOption(option);} else if (e.target.textContent === '周') {option.series[0].data = [180, 274, 253, 324, 277, 240, 332, 378, 101];option.xAxis.data = ["2月第1周", "2月第2周", ..., "3月第5周"];myChart.setOption(option);}});
}
  • tabs 是页面上所有的 Tab 按钮(假设有两个按钮:一个是“月”,另一个是“周”)。
  • 给每个 Tab 按钮添加点击事件监听器,当用户点击时触发回调函数。
  • 回调函数根据点击的按钮内容(e.target.textContent)判断用户选择了“月”还是“周”:
    • 如果选择“月”,则更新图表数据为“月”维度的数据(xMonthSeries 和 yMonthSeries)。
    • 如果选择“周”,则更新图表数据为“周”维度的原始数据。
  • 最后调用 myChart.setOption(option) 更新图表。

5. 总结

这段代码的核心功能是通过切换“周”和“月”的视图来动态更新图表数据:

  • 初始显示“周”维度的数据。
  • 当用户点击“月”按钮时,显示每个月的总和。
  • 当用户点击“周”按钮时,恢复显示每周的原始数据。

    版本一文章的链接:蓝桥杯 web 学海无涯(echarts、axios)

http://www.dtcms.com/wzjs/9019.html

相关文章:

  • 鄂州网站开发怎么制作网站教程步骤
  • wordpress get_field网络搜索引擎优化
  • 曲阜市网站建设能打开各种网站的浏览器下载
  • 上海网上做鸭子的网站怎么进行网站关键词优化
  • 成都网页设计与网站建设代运营服务
  • 专做品牌网站头条搜索
  • 百度网盟推广官网入口漳州seo网站快速排名
  • 渐江建工水利水电建设有限公司网站百度指数移动版app
  • 老实人做网站seo 技术优化
  • 网站广告推广怎么做如何自己做一个网址
  • 长春网站建设公司哪家好做网站公司哪家好
  • 网站营销活动网络广告有哪些形式
  • 做视频网站如何赚钱网址导航哪个好
  • 中国建设银行网站 党费云平台怎么推广
  • 怎么做有趣的微视频网站站长工具网站推广
  • 家教网站建设模板资源搜索引擎搜索神器网
  • 大方县住房城乡建设局网站百度推广课程
  • 在线网站制作模拟外贸网站免费推广b2b
  • 竹子建站公司深圳华强北最新消息
  • wordpress怎么设置用户收费青岛seo网站管理
  • 音乐网站建设目标百度网盘官方网站
  • 华为云和wordpress站长之家seo查找
  • 深圳哪里网站建设好网络科技公司网站建设
  • 做网站哪家便宜厦门什么是关键词广告
  • 潍坊小企业网站建设拉新平台哪个好佣金高
  • 珠海网站建设推广河南网站推广
  • 手机网站图片自适应代码软件开发工资一般多少
  • 医学教育网站建设方案百度网站首页入口
  • 教育类网站怎么做青岛网站推广关键词
  • 门户网站建设思维导图百度风云榜小说排行榜