<template><div><div>【云端报警风险】</div><div ref="target" class="w-full h-full" style='width:200px;height:300px'></div></div>
</template><script setup>
import { ref, onMounted,watch } from 'vue';
import * as echarts from "echarts";
let myChart = null;
const target = ref(null);
onMounted(() => {myChart = echarts.init(target.value);renderChart();
});
let resData=[{"id": 1,"name": "华北","value": 64},{"id": 2,"name": "东北","value": 68},{"id": 3,"name": "华东","value": 45},{"id": 4,"name": "中南","value": 74},{"id": 5,"name": "西南","value": 69},{"id": 6,"name": "西北","value": 37}
]
const renderChart = () => {const options = {radar: {name: {textStyle: {color: "#05D5FF",fontSize: 14}},shape: 'polygon',center: ['50%', '50%'],radius: '80%',startAngle: 120,axisLine: {lineStyle: {color: 'rgba(2,213,255,.8)'}},splitLine: {show: true,lineStyle: {with: 1,color: 'rgba(5,213,255,.8)'}},indicator:resData.map(item => ({name: item.name,max: 100})),splitArea: {show:false}},polar: {center: ['50%', '50%'],radius:'0%'},angleAxis: {min: 0,interval: 5,clockwise:false,},radiusAxis: {min: 0,interval: 20,splitLine: {show:true}},series: {type: 'radar',symbol: 'circle',symbolSize: 10,itemStyle: {normal: {color:'#05D5FF'}},areaStyle: {normal: {color: '#05D5FF',opacity:0.5}},lineStyle: {with: 2,color:'#05D5FF'},label: {normal: {show:true,color: '#05D5FF',}},data: [{value:resData.map(item=>item.value)}]}}myChart.setOption(options);
};
watch(() => resData,renderChart)</script><style lang="scss" scoped></style>