/* * @Author: your name * @Date: 2021-10-12 15:14:58 * @LastEditTime: 2021-11-10 09:29:27 * @LastEditors: Please set LastEditors * @Description: In User Settings Edit * @FilePath: /data-show/src/views/BrandInsight/weiboPortraits/opt.js */ import * as echarts from "echarts"; function createData(ds = []) { let arr = []; for (let i = 0; i < ds.length; i++) { let ele = ds[i]; let color = ""; if (ele.key === '正面') { color = "#3273cc"; } else if (ele.key === '负面') { color = "#cc9d10"; } else { color = "#53bf92"; } if (ele.value * 1 > 0) { let obj = { value: ele.value * 1, name: ele.key, itemStyle: { color: new echarts.graphic.LinearGradient(0, 1, 1, 0, [{ //给颜色设置渐变色 前面4个参数,给第一个设置1,第四个设置0 ,就是水平渐变 //给第一个设置0,第四个设置1,就是垂直渐变 offset: 0, color: 'black' }, { offset: 1, color: color }]) } }; arr.push(obj) } } return arr; } export default function createOpt(ds = []) { const data = createData(ds) return { series: [ { name: 'Access From0', type: 'pie', radius: ['65%', '80%'], avoidLabelOverlap: false, label: { show: false, position: 'center', color: "#ffff", lineHeight: 36 }, emphasis: { label: { show: true, fontSize: '20', color: "#ffff", fontWeight: "bold", formatter: function (p) { return `${p.data.name}\n${p.percent}%\n${p.data.value}` } } }, labelLine: { show: false }, data: data }, { name: 'Access From1', type: 'pie', radius: ['86%', '94%'], avoidLabelOverlap: false, label: { show: false, position: 'center' }, labelLine: { show: false }, center: ['50%', '50%'],//边框位置 data: data } ] } }