1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
| <!-- 雷达图
|
| -->
| <script>
| import * as echarts from 'echarts';
| export default {
| props: {
| // 属性
| name: {
| type: Array,
| default: () => {
| return [];
| }
| },
| // 数据
| yData: {
| type: Array,
| default: () => {
| return [];
| }
| }
| },
| data() {
| return {
| chart: null
| };
| },
| watch: {
| yData() {
| this.set();
| }
| },
| mounted() {
| this.initRadarChart();
| window.addEventListener('resize', this.resizeChart);
| },
| methods: {
| initRadarChart() {
| this.chart = echarts.init(document.getElementById('main'));
| },
| set() {
| // this.data[0] = this.data[0]*0.01
| let option = {
| title: {
| text: '综合风险'
| },
| tooltip: {},
| radar: {
|
| // 边框颜色
| splitLine: {
| lineStyle: {
| // 使用深浅的间隔色
| color: ['#ddd', '#aaa']
| }
| },
|
| indicator: [
| { name: this.name[0], max: 1 },
| { name: this.name[1], max: 1 },
| { name: this.name[2], max: 1 },
| { name: this.name[3], max: 1 },
| { name: this.name[4], max: 1 }
| ],
|
| axisName: {
| color: '#428BD4'
| },
| legend: {
| borderColor: '#428BD4'
| }
| },
| series: [
| {
| type: 'radar',
| data: [
| {
| value: [
| (1 - (this.yData[0] / 100).toFixed(4)),
| this.yData[1],
| this.yData[2],
| (this.yData[3] / 100).toFixed(4),
| 1-((this.yData[4] / 100).toFixed(4))
| ],
| // value: [
| // this.yData[0],
| // this.yData[1],
| // this.yData[2],
| // this.yData[3] ,
| // this.yData[4]
| // ],
| name: '异常分析'
| }
| ],
| label: {
| show: true,
| formatter: function (params) {
|
| return params.value*100+'%';
| }
| }
| }
| ]
| };
| this.chart.setOption(option);
| },
| // 跟页面响应式变化
| resizeChart() {
| // this.chart.resize();
| this.$nextTick(() => {
| if (this.chart) {
| this.chart.resize();
| }
| });
| }
| }
| };
| </script>
|
| <template>
| <div id="main" class="chart"></div>
| </template>
|
| <style scoped>
| .chart {
| width: 100%;
| height: 500px;
| }
| </style>
|
|