const dataList = [ { name: '小明', data: [54, 32, 56, 30, 95, 35], color: '#5470c6', unit: '分' }, { name: '小红', data: [84, 63, 23, 59, 78, 95], color: '#91cc75', unit: '分' }, { name: '小刚', data: [14, 98, 63, 74, 40, 67], color: '#fac858', unit: '分' } ] const indicator = [ { name: '语文', max: 100 }, { name: '数学', max: 100 }, { name: '英语', max: 100 }, { name: '物理', max: 100 }, { name: '化学', max: 100 }, { name: '生物', max: 100 } ] const buildSeries = function (dataIndex) { const data = dataList[dataIndex].data const helper = data.map((item, index) => { const arr = new Array(data.length) arr.splice(index, 1, item) return arr }) return [data, ...helper].map((item, index) => { return { name: dataList[dataIndex].name, type: 'radar', symbol: index === 0 ? 'circle' : 'none', symbolSize: 4, itemStyle: { color: '#fff' }, lineStyle: { color: index === 0 ? dataList[dataIndex].color : 'transparent' }, areaStyle: { color: index === 0 ? dataList[dataIndex].color : 'transparent', opacity: 0.5 }, tooltip: { show: index === 0 ? false : true, formatter: () => { let res = indicator[index - 1].name + ':<br>' for (let x of dataList) { let str = '<i style="display: inline-block;width: 10px;height: 10px;background: ' + x.color + ';margin-right: 5px;border-radius: 50%;}"></i>' + x.name + ':' + x.data[index - 1] + x.unit + '<br>' res += str } return res } }, z: index === 0 ? 1 : 2, data: [item] } }) } const series = [] for (let i in dataList) { series.push(...buildSeries(i)) } option = { tooltip: {}, radar: { indicator: indicator }, series: series }
参考:https://www.jianshu.com/p/0281688f8700
原文地址:http://www.cnblogs.com/zqlym/p/16906104.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性