<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <!-- 引入 ECharts 文件 --> <script src="js/echarts.js"></script> </head> <body> <!---为ECharts准备一个具备大小(宽高)的DOM---> <div id="main" style="width: 500px; height: 400px"></div> <script type="text/javascript"> //基于准备好的DOM,初始化ECharts图表 // 数据项目配置,日期(String),数据以二维数组形式保留列数代表维度 // 日期行数要和数据行数保持一致 var i = 0; var name_list = ['2000','2001','2002','2003','2004','2005','2006','2007','2008','2009','2010','2011','2012','2013','2014','2015','2016','2017','2018','2019','2020']; var data_list = [[77.7, 42.6, 28.7], [79.7, 43.6, 34.9], [79.7,43.6,34.9], [81.8, 44.1, 43.3], [86.6, 47.8, 46.7], [90.8, 50.3, 49.9], [92.6, 49.8, 51.0], [93.7, 51.5, 48.6], [94.3, 50.7, 46.1],[96.5,80.4,50.2], [98.7,87.5,52.1],[98.3,88.9,51.4], [98.3,88.4,49.7],[98.3,91.2,55.1], [98.0,95.1,55.3],[98.2,94.1,54.3], [98.7,93.7,53.9],[98.8,94.9,55], [99.1,95.2,55.3],[99.5,94.5,55.4], [99.5,95.7,56.6]]; var myChart = echarts.init(document.getElementById("main")); //指定图表的配置项和数据 var option = { //指定图表的配置项和数据 backgroundColor: 'rgba(204,204,204,0.7)', //配置背景色,默认无背景 title: { //配置标题组件 text: '各级学校毕业生升学率', target: 'blank', top: '10', left: '160', textStyle: { color: 'blue', fontSize: 18, } }, legend: { //配置图例组件 show: true, //设置是否显示图例 icon: 'rect', //icon.'circle'|'rect'|'roundRect'|'triangle'|'diamond'|'pin'|'arrow'|'none' bottom: '15', //设置图例距离顶部边距 // left: 230, //设置图例距离左侧边距 itemWidth: 10, //设置图例标记的图形宽度 itemHeight: 10, //设置图例标记的图形高度 itemGap: 30, //设置图例每项之间的间隔 orient: 'horizontal', //设置图例列表的布局朝向,'horizontal'|'vertical' textStyle: { fontSize: 15, color: '#fff' }, //设置图例的公用文本样式 data: [ //设置图例的数据数组,数组项通常为字符串,每项代表一个系列name //设置图例项的文本样式 { name: '2000', icon: 'rect', textStyle: { color: 'rgba(255,0,0,1)', fontWeight: 'bold' } } //'normal'|'bold'|'bolder'|'lighter' ], }, tooltip: { //配置详情提示框组件 //设置雷达图的tooltip不会超出div,也可设置position属性 //设置定位不会随着鼠标移动而变化 confine: true, //设置是否将tooltip框限制在图表的区域内 enterable: true, //设置鼠标是否可以移动到tooltip区域内 }, visualMap: { top: '47%', right: 5, max: 100, color: ['red', 'blue'], calculable: true }, radar: [{ //配置雷达图坐标系组件,只适用于雷达图 center: ['50%', '56%'], //设置中心坐标,数组的第1项是横坐标,第2项是纵坐标 radius: 160, //设置圆的半径,数组的第一项是内半径,第二项是外半径 startAngle: 90, //设置坐标系起始角度,也就是第一个指示器轴的角度 name: { //设置(圆外的标签)雷达图每个指示器名称 formatter: '{value}', textStyle: { fontSize: 15, color: '#000' } }, nameGap: 2, //设置指示器名称和指示器轴的距离,默认为15 splitNumber: 2, //设置指示器轴的分割段数,default //shape:'circle', //设置雷达图绘制类型,支持'polygon','circle' //设置坐标轴轴线设置 axisLine: { lineStyle: { color: '#fff', width: 1, type: 'solid', } }, //设置坐标轴在grid区域中的分隔线 splitLine: { lineStyle: { color: '#fff', width: 1, } }, splitArea: { show: true, areaStyle: { color: ['#abc', '#bca', '#abc', '#bca'] } }, //设置分隔区域的样式 indicator: [ //配置雷达图指示器,指定雷达图中的多个变量,跟data中value对应 { name: '小学升初中', max: 100, color: 'red'}, { name: '初中升高中', max: 100, color: 'green' }, { name: '高中升高等', max: 100 , color:'blue'}] }], series: [{ name: '雷达图', //系列名称,用于tooltip的显示,图例筛选 type: 'radar', //系列类型: 雷达图 //拐点样式,'circle'|'rect'|'roundRect'|'triangle'|'diamond'|'pin'|'arrow'|'none' symbol: 'triangle', itemStyle: { //设置折线拐点标志的样式 normal: { lineStyle: { width: 1 }, opacity: 0.2 }, //设置普通状态时的样式 emphasis: { lineStyle: { width: 5 }, opacity: 1 } //设置高亮时的样式 }, data: [ //设置雷达图的数据是多变量(维度) { //设置第1个数据项 name: '2001', //数据项名称 value: [77.7, 42.6, 28.7], //value是具体数据 symbol: 'triangle', symbolSize: 5, //设置单个数据标记的大小 //设置拐点标志样式 itemStyle: { normal: { borderColor: 'blue', borderWidth: 3 } }, //设置单项线条样式 // lineStyle: { normal: { color: 'red', width: 1, opacity: 0.9 } }, //areaStyle: {normal:{color:'red'}} //设置单项区域填充样式 } ] },] }; //使用刚指定的配置项和数据显示图表 setInterval(function () { let name_0 = option.legend.data[0].name; let value_0 = option.series[0].data[0].value; let data_name_0 = option.series[0].data[0].name; // let value_1 = option.series[1].data[0].value; // let value_2 = option.series[2].data[0].value; // let value_3 = option.series[3].data[0].value; //作用:控制循环 if(data_list.length == i){ i = 0; } value_0 = data_list[i]; name_0 = name_list[i]; data_name_0 = name_list[i]; option.series[0].data[0].value = value_0; option.legend.data[0].name = name_0; option.series[0].data[0].name = data_name_0; console.log(value_0); console.log(name_0); console.log(name_list[i]); // console.log(data_list.length) // for (i = 0; i < fLen; i++) { // text += "<li>" + fruits[i] + "</li>"; // } myChart.setOption(option, true); i = i + 1; }, 1500); //每间2秒重新渲染一次,以实现动态效果 </script> </body> </html>
需引入echarts.js文件