通用Echarts
更新时间:2023-04-18
概述
支持不同类型Echarts图表的展示。

特有静态属性
通用Echarts可视元件有一个特有配置项,即Echarts需要接收的option配置项,它是一个js的对象。通过调整配置项属性,即可在物可视中展示各种丰富多彩的Echarts图表。
注意:配置项面板中仅支持输入合法的静态js对象作为option值,不支持输入其他变量、函数或API的调用。

在代码编辑器中可以对配置项进行修改,修改无误后点击上方运行按钮,即可将配置应用于图表中。
示例1,我们将配置项改为时间序列面积图:
                Plain Text
                
            
            1{
2    tooltip: {
3        trigger: 'axis',
4    },
5    title: {
6        left: 'center',
7        text: 'Large Area Chart',
8    },
9    xAxis: {
10        type: 'time',
11        boundaryGap: false,
12    },
13    yAxis: {
14        type: 'value',
15        boundaryGap: [0, '100%'],
16    },
17    series: [
18        {
19            name: 'Fake Data',
20            type: 'line',
21            smooth: true,
22            symbol: 'none',
23            areaStyle: {},
24            data: [
25                [1681281247079, 36],
26                [1681281248079, 97],
27                [1681281249079, 84],
28                [1681281250079, 71],
29                [1681281251079, 7],
30                [1681281252079, 46],
31                [1681281253079, 67],
32                [1681281254079, 0],
33                [1681281255079, 2],
34                [1681281256079, 55],
35                [1681281257079, 68],
36                [1681281258079, 97],
37                [1681281259079, 98],
38                [1681281260079, 85],
39                [1681281261079, 12],
40            ],
41        },
42    ],
43}
            运行后,图表如下所示:

示例2:极坐标系下的堆叠柱状图
配置项调整如下:
                Plain Text
                
            
            1{
2    color: ['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc'],
3    angleAxis: {
4        type: 'category',
5        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
6    },
7    radiusAxis: {},
8    polar: {},
9    series: [
10        {
11            type: 'bar',
12            data: [1, 2, 3, 4, 3, 5, 1],
13            coordinateSystem: 'polar',
14            name: 'A',
15            stack: 'a',
16            emphasis: {
17                focus: 'series',
18            },
19        },
20        {
21            type: 'bar',
22            data: [2, 4, 6, 1, 3, 2, 1],
23            coordinateSystem: 'polar',
24            name: 'B',
25            stack: 'a',
26            emphasis: {
27                focus: 'series',
28            },
29        },
30        {
31            type: 'bar',
32            data: [1, 2, 3, 4, 1, 2, 5],
33            coordinateSystem: 'polar',
34            name: 'C',
35            stack: 'a',
36            emphasis: {
37                focus: 'series',
38            },
39        },
40    ],
41    legend: {
42        show: true,
43        data: ['A', 'B', 'C'],
44    },
45}
            展示效果如下:

示例3:3D柱状图
配置项如下:
                Plain Text
                
            
            1{
2    tooltip: {},
3    visualMap: {
4        max: 20,
5        inRange: {
6            color: [
7                '#313695',
8                '#4575b4',
9                '#74add1',
10                '#abd9e9',
11                '#e0f3f8',
12                '#ffffbf',
13                '#fee090',
14                '#fdae61',
15                '#f46d43',
16                '#d73027',
17                '#a50026',
18            ],
19        },
20    },
21    xAxis3D: {
22        type: 'category',
23        data: [
24            '12a',
25            '1a',
26            '2a',
27            '3a',
28            '4a',
29            '5a',
30            '6a',
31            '7a',
32            '8a',
33            '9a',
34            '10a',
35            '11a',
36            '12p',
37            '1p',
38            '2p',
39            '3p',
40            '4p',
41            '5p',
42            '6p',
43            '7p',
44            '8p',
45            '9p',
46            '10p',
47            '11p',
48        ],
49    },
50    yAxis3D: {
51        type: 'category',
52        data: ['Saturday', 'Friday', 'Thursday', 'Wednesday', 'Tuesday', 'Monday', 'Sunday'],
53    },
54    zAxis3D: {
55        type: 'value',
56    },
57    grid3D: {
58        boxWidth: 200,
59        boxDepth: 80,
60        viewControl: {},
61        light: {
62            main: {
63                intensity: 1.2,
64                shadow: true,
65            },
66            ambient: {
67                intensity: 0.3,
68            },
69        },
70    },
71    series: [
72        {
73            type: 'bar3D',
74            data: [
75                {
76                    value: [0, 0, 5],
77                },
78                {
79                    value: [15, 0, 3],
80                },
81                {
82                    value: [20, 0, 3],
83                },
84                {
85                    value: [10, 1, 5],
86                },
87                {
88                    value: [13, 1, 6],
89                },
90                {
91                    value: [17, 1, 7],
92                },
93                {
94                    value: [19, 1, 12],
95                },
96                {
97                    value: [20, 1, 5],
98                },
99                {
100                    value: [23, 1, 2],
101                },
102                {
103                    value: [12, 2, 1],
104                },
105                {
106                    value: [17, 2, 5],
107                },
108                {
109                    value: [22, 2, 2],
110                },
111                {
112                    value: [0, 3, 7],
113                },
114                {
115                    value: [14, 3, 13],
116                },
117                {
118                    value: [15, 3, 12],
119                },
120                {
121                    value: [8, 3, 1],
122                },
123                {
124                    value: [12, 3, 7],
125                },
126                {
127                    value: [13, 3, 14],
128                },
129                {
130                    value: [16, 3, 9],
131                },
132                {
133                    value: [19, 3, 10],
134                },
135                {
136                    value: [23, 3, 1],
137                },
138                {
139                    value: [10, 4, 4],
140                },
141                {
142                    value: [11, 4, 4],
143                },
144                {
145                    value: [12, 4, 2],
146                },
147                {
148                    value: [13, 4, 4],
149                },
150                {
151                    value: [15, 4, 14],
152                },
153                {
154                    value: [18, 4, 8],
155                },
156                {
157                    value: [19, 4, 5],
158                },
159                {
160                    value: [0, 5, 2],
161                },
162                {
163                    value: [1, 5, 1],
164                },
165                {
166                    value: [8, 5, 2],
167                },
168                {
169                    value: [13, 5, 10],
170                },
171                {
172                    value: [14, 5, 5],
173                },
174                {
175                    value: [16, 5, 11],
176                },
177                {
178                    value: [17, 5, 6],
179                },
180                {
181                    value: [21, 5, 4],
182                },
183                {
184                    value: [22, 5, 2],
185                },
186                {
187                    value: [10, 6, 1],
188                },
189                {
190                    value: [12, 6, 2],
191                },
192                {
193                    value: [13, 6, 1],
194                },
195                {
196                    value: [14, 6, 3],
197                },
198                {
199                    value: [20, 6, 1],
200                },
201                {
202                    value: [21, 6, 2],
203                },
204                {
205                    value: [22, 6, 2],
206                },
207                {
208                    value: [23, 6, 6],
209                },
210            ],
211            shading: 'lambert',
212            label: {
213                fontSize: 16,
214                borderWidth: 1,
215            },
216            emphasis: {
217                label: {
218                    fontSize: 20,
219                    color: '#900',
220                },
221                itemStyle: {
222                    color: '#900',
223                },
224            },
225        },
226    ],
227}
            展示效果如下:

数据绑定
数据绑定,是连接『可视化仪表盘』与『数据表』的窗口。数据配置Tab中可供选择的数据表,是已在数据表Tab中创建好的二维数据表。数据表的创建过程可参考仪表盘数据表处理 及 典型实践文档。
数据表绑定

配置项可以通过数据表绑定将动态数据注入到option中返回,从而实现图表数据的动态展示。

在数据表绑定中,左侧选择创建好的二维数据表,右侧对属性值进行处理。鼠标移动到❓上,提示框对transform函数的参数值进行了详细展示。
示例
接下来我们以折线图为例,描述数据绑定的过程。
步骤1:创建一个动态的仿真数据


步骤2:数据绑定
在数据表绑定中选择刚才创建的echarts数据表,在右侧代码编辑器中修改transform函数:
                Plain Text
                
            
            1function transform(data, header) {
2  function getCol(idx) {
3    return data.map(function (item) {
4      return item[idx];
5    });
6  }
7  var option = {
8    "xAxis": {
9      "type": "category",
10      "data": getCol(1)
11    },
12    "yAxis": {
13      "type": "value"
14    },
15    "series": [{
16      "data": getCol(0),
17      "type": "line"
18    }]
19  };
20  return option;
21}
            确定后即绑定数据成功。
步骤3:运行预览
点击运行仪表盘,预览动态效果:

