|  | <!DOCTYPE html> | 
|  | <!-- | 
|  | Licensed to the Apache Software Foundation (ASF) under one | 
|  | or more contributor license agreements.  See the NOTICE file | 
|  | distributed with this work for additional information | 
|  | regarding copyright ownership.  The ASF licenses this file | 
|  | to you under the Apache License, Version 2.0 (the | 
|  | "License"); you may not use this file except in compliance | 
|  | with the License.  You may obtain a copy of the License at | 
|  |  | 
|  | http://www.apache.org/licenses/LICENSE-2.0 | 
|  |  | 
|  | Unless required by applicable law or agreed to in writing, | 
|  | software distributed under the License is distributed on an | 
|  | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | 
|  | KIND, either express or implied.  See the License for the | 
|  | specific language governing permissions and limitations | 
|  | under the License. | 
|  | --> | 
|  |  | 
|  |  | 
|  | <html> | 
|  | <head> | 
|  | <meta charset="utf-8"> | 
|  | <script src="lib/simpleRequire.js"></script> | 
|  | <script src="lib/config.js"></script> | 
|  | <script src="lib/jquery.min.js"></script> | 
|  | <script src="lib/testHelper.js"></script> | 
|  | <meta name="viewport" content="width=device-width, initial-scale=1" /> | 
|  | <link rel="stylesheet" href="lib/reset.css" /> | 
|  | </head> | 
|  | <body> | 
|  | <style> | 
|  | .test-title { | 
|  | background: rgb(182, 120, 7); | 
|  | color: #fff; | 
|  | } | 
|  | .test-chart { | 
|  | height: 250px; | 
|  | } | 
|  | </style> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <div id="layout0"></div> | 
|  | <div id="layout1"></div> | 
|  | <div id="layout2"></div> | 
|  | <div id="layout3"></div> | 
|  | <div id="layout4"></div> | 
|  | <div id="layout5"></div> | 
|  | <div id="layout6"></div> | 
|  | <div id="layout7"></div> | 
|  | <div id="layout7.5"></div> | 
|  | <div id="layout8"></div> | 
|  | <div id="layout9"></div> | 
|  | <div id="layout10"></div> | 
|  | <div id="layout11"></div> | 
|  | <div id="layout12"></div> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <script> | 
|  | var arrayRows0 = [ | 
|  | ['product', '2015', '2016', '2017'], | 
|  | ['Matcha Latte', 43.3, 85.8, 93.7], | 
|  | ['Milk Tea', 83.1, 73.4, 55.1], | 
|  | ['Cheese Cocoa', 86.4, 65.2, 82.5], | 
|  | ['Walnut Brownie', 72.4, 53.9, 39.1] | 
|  | ]; | 
|  |  | 
|  | var arrayRows1 = [ | 
|  | ['product', '2012', '2013', '2014', '2015', '2016', '2017'], | 
|  | ['Matcha Latte', 41.1, 30.4, 65.1, 53.3, 83.8, 98.7], | 
|  | ['Milk Tea', 86.5, 92.1, 85.7, 83.1, 73.4, 55.1], | 
|  | ['Cheese Cocoa', 24.1, 67.2, 79.5, 86.4, 65.2, 82.5], | 
|  | ['Walnut Brownie', 55.2, 67.1, 69.2, 72.4, 53.9, 39.1] | 
|  | ]; | 
|  |  | 
|  | var arrayRowsNoColumnHeader = [ | 
|  | ['Matcha Latte', 41.1, 30.4, 65.1, 53.3, 83.8, 98.7], | 
|  | ['Milk Tea', 86.5, 92.1, 85.7, 83.1, 73.4, 55.1], | 
|  | ['Cheese Cocoa', 24.1, 67.2, 79.5, 86.4, 65.2, 82.5], | 
|  | ['Walnut Brownie', 55.2, 67.1, 69.2, 72.4, 53.9, 39.1] | 
|  | ]; | 
|  |  | 
|  | var arrayRowsNoRowHeader = [ | 
|  | ['2012', '2013', '2014', '2015', '2016', '2017'], | 
|  | [41.1, 30.4, 65.1, 53.3, 83.8, 98.7], | 
|  | [86.5, 92.1, 85.7, 83.1, 73.4, 55.1], | 
|  | [24.1, 67.2, 79.5, 86.4, 65.2, 82.5], | 
|  | [55.2, 67.1, 69.2, 72.4, 53.9, 39.1] | 
|  | ]; | 
|  |  | 
|  | var arrayRowsPairValueColumns = [ | 
|  | ['2012', null, '2013', null, '2014', 'amount'], | 
|  | [41.1, 2585, 30.4, 2473, 65.1, 3418], | 
|  | [86.5, 2316, 92.1, 3255, 85.7, 2485], | 
|  | [24.1, 1532, 67.2, 1452, 79.5, 4689], | 
|  | [55.2, 5312, 67.1, 3266, 69.2, 1354] | 
|  | ]; | 
|  |  | 
|  | var errorData = [ | 
|  | ['name', 'Price', 'Prime cost', 'Prime cost min', 'Prime cost max', 'Price min', 'Price max'], | 
|  | ['Blouse "Blue Viola"', 101.88, 99.75, 76.75, 116.75, 69.88, 119.88], | 
|  | ['Dress "Daisy"', 155.8, 144.03, 126.03, 156.03, 129.8, 188.8], | 
|  | ['Trousers "Cutesy Classic"', 203.25, 173.56, 151.56, 187.56, 183.25, 249.25], | 
|  | ['Dress "Morning Dew"', 256, 120.5, 98.5, 136.5, 236, 279], | 
|  | ['Turtleneck "Dark Chocolate"', 408.89, 294.75, 276.75, 316.75, 385.89, 427.89], | 
|  | ['Jumper "Early Spring"', 427.36, 430.24, 407.24, 452.24, 399.36, 461.36], | 
|  | ['Breeches "Summer Mood"', 356, 135.5, 123.5, 151.5, 333, 387], | 
|  | ['Dress "Mauve Chamomile"', 406, 95.5, 73.5, 111.5, 366, 429], | 
|  | ['Dress "Flying Tits"', 527.36, 503.24, 488.24, 525.24, 485.36, 551.36], | 
|  | ['Dress "Singing Nightingales"', 587.36, 543.24, 518.24, 555.24, 559.36, 624.36], | 
|  | ['Sundress "Cloudy weather"', 603.36, 407.24, 392.24, 419.24, 581.36, 627.36], | 
|  | ['Sundress "East motives"', 633.36, 477.24, 445.24, 487.24, 594.36, 652.36], | 
|  | ['Sweater "Cold morning"', 517.36, 437.24, 416.24, 454.24, 488.36, 565.36], | 
|  | ['Trousers "Lavender Fields"', 443.36, 387.24, 370.24, 413.24, 412.36, 484.36], | 
|  | ['Jumper "Coffee with Milk"', 543.36, 307.24, 288.24, 317.24, 509.36, 574.36], | 
|  | ['Blouse "Blooming Cactus"', 790.36, 277.24, 254.24, 295.24, 764.36, 818.36], | 
|  | ['Sweater "Fluffy Comfort"', 790.34, 678.34, 660.34, 690.34, 762.34, 824.34] | 
|  | ]; | 
|  |  | 
|  | // No 北京 上海 江苏 | 
|  | var nameValueGeo0 = [ | 
|  | {name: '天津', value: 514}, | 
|  | {name: '上海', value: 863}, | 
|  | {name: '重庆', value: 224}, | 
|  | {name: '河北', value: 671}, | 
|  | {name: '河南', value: 888}, | 
|  | {name: '云南', value: 992}, | 
|  | {name: '辽宁', value: 136}, | 
|  | {name: '黑龙江', value: 406}, | 
|  | {name: '湖南', value: 101}, | 
|  | {name: '安徽', value: 885}, | 
|  | {name: '新疆', value: 187}, | 
|  | {name: '浙江', value: 1}, | 
|  | {name: '江西', value: 138}, | 
|  | {name: '湖北', value: 337}, | 
|  | {name: '广西', value: 410}, | 
|  | {name: '甘肃', value: 22}, | 
|  | {name: '山西', value: 814}, | 
|  | {name: '内蒙古', value: 449}, | 
|  | {name: '陕西', value: 324}, | 
|  | {name: '吉林', value: 429}, | 
|  | {name: '福建', value: 377}, | 
|  | {name: '贵州', value: 811}, | 
|  | {name: '广东', value: 954}, | 
|  | {name: '青海', value: 653}, | 
|  | {name: '西藏', value: 297}, | 
|  | {name: '四川', value: 981}, | 
|  | {name: '宁夏', value: 66}, | 
|  | {name: '海南', value: 667}, | 
|  | {name: '台湾', value: 345}, | 
|  | {name: '香港', value: 970}, | 
|  | {name: '澳门', value: 683} | 
|  | ]; | 
|  |  | 
|  | var nameValueGeo1 = [ | 
|  | {name: '北京', value: 507}, | 
|  | {name: '天津', value: 263}, | 
|  | {name: '上海', value: 732}, | 
|  | {name: '重庆', value: 976}, | 
|  | {name: '河北', value: 299}, | 
|  | {name: '安徽', value: 465}, | 
|  | {name: '新疆', value: 259}, | 
|  | {name: '浙江', value: 822}, | 
|  | {name: '江西', value: 922}, | 
|  | {name: '山西', value: 379}, | 
|  | {name: '内蒙古', value: 544}, | 
|  | {name: '吉林', value: 190}, | 
|  | {name: '福建', value: 66}, | 
|  | {name: '广东', value: 842}, | 
|  | {name: '西藏', value: 827}, | 
|  | {name: '四川', value: 71}, | 
|  | {name: '宁夏', value: 428}, | 
|  | {name: '香港', value: 466}, | 
|  | {name: '澳门', value: 119} | 
|  | ] | 
|  |  | 
|  | </script> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <script> | 
|  | require(['echarts'], function (echarts) { | 
|  |  | 
|  | var option = { | 
|  | legend: {}, | 
|  | tooltip: {}, | 
|  | dataset: { | 
|  | source: arrayRows0 | 
|  | }, | 
|  | series: [ | 
|  | {type: 'pie', id: 'pie'} | 
|  | ] | 
|  | }; | 
|  |  | 
|  | testHelper.create(echarts, 'layout0', { | 
|  | title: 'pie, default encoding, legend', | 
|  | option: option | 
|  | }); | 
|  | }); | 
|  | </script> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <script> | 
|  | require(['echarts'], function (echarts) { | 
|  | var encode = { | 
|  | value: '2016', | 
|  | itemName: 'product' | 
|  | }; | 
|  |  | 
|  | var option = { | 
|  | legend: {}, | 
|  | tooltip: {}, | 
|  | dataset: { | 
|  | source: arrayRows0 | 
|  | }, | 
|  | series: [ | 
|  | {type: 'pie', id: 'pie', encode: encode} | 
|  | ] | 
|  | }; | 
|  |  | 
|  | testHelper.create(echarts, 'layout1', { | 
|  | title: 'pie, give encoding, default legend', | 
|  | option: option, | 
|  | dataTable: arrayRows0, | 
|  | infoKey: 'encode', | 
|  | info: encode | 
|  | }); | 
|  | }); | 
|  | </script> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <script> | 
|  | require(['echarts'], function (echarts) { | 
|  | var option = { | 
|  | legend: {}, | 
|  | tooltip: {}, | 
|  | dataset: { | 
|  | source: arrayRows0 | 
|  | }, | 
|  | series: [ | 
|  | { | 
|  | type: 'pie', | 
|  | id: 'pie', | 
|  | seriesLayoutBy: 'row', | 
|  | encode: { | 
|  | value: 'Milk Tea', | 
|  | itemName: 'product', | 
|  | tooltip: 'Milk Tea' | 
|  | } | 
|  | } | 
|  | ] | 
|  | }; | 
|  |  | 
|  | testHelper.create(echarts, 'layout2', { | 
|  | title: 'pie, give encoding, default legend', | 
|  | option: option, | 
|  | dataTable: arrayRows0, | 
|  | info: { | 
|  | legend: '<default>', | 
|  | series: option.series | 
|  | } | 
|  | }); | 
|  | }); | 
|  | </script> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <script> | 
|  | require(['echarts'], function (echarts) { | 
|  | var option = { | 
|  | legend: {}, | 
|  | tooltip: {}, | 
|  | dataset: [{ | 
|  | source: arrayRowsNoColumnHeader | 
|  | }, { | 
|  | source: arrayRowsNoRowHeader | 
|  | }], | 
|  | series: [{ | 
|  | type: 'pie', | 
|  | radius: 50, | 
|  | center: ['25%', '25%'], | 
|  | sourceHeader: false | 
|  | }, { | 
|  | type: 'pie', | 
|  | radius: 50, | 
|  | center: ['50%', '25%'] | 
|  | }, { | 
|  | type: 'pie', | 
|  | radius: 50, | 
|  | center: ['75%', '25%'], | 
|  | sourceHeader: true | 
|  | }, { | 
|  | type: 'pie', | 
|  | radius: 50, | 
|  | center: ['25%', '75%'], | 
|  | seriesLayoutBy: 'row', | 
|  | sourceHeader: false, | 
|  | datasetIndex: 1 | 
|  | }, { | 
|  | type: 'pie', | 
|  | radius: 50, | 
|  | center: ['50%', '75%'], | 
|  | seriesLayoutBy: 'row', | 
|  | datasetIndex: 1 | 
|  | }, { | 
|  | type: 'pie', | 
|  | radius: 50, | 
|  | center: ['75%', '75%'], | 
|  | seriesLayoutBy: 'row', | 
|  | sourceHeader: true, | 
|  | datasetIndex: 1 | 
|  | }] | 
|  | }; | 
|  |  | 
|  | testHelper.create(echarts, 'layout3', { | 
|  | title: 'no sourceHeader', | 
|  | height: 400, | 
|  | option: option, | 
|  | dataTables: [ | 
|  | arrayRowsNoColumnHeader, | 
|  | arrayRowsNoRowHeader | 
|  | ], | 
|  | info: { | 
|  | legend: '<default>', | 
|  | series: option.series | 
|  | } | 
|  | }); | 
|  | }); | 
|  | </script> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <script> | 
|  |  | 
|  | require(['echarts', 'map/js/china'], function (echarts) { | 
|  | var option = { | 
|  | legend: {}, | 
|  | tooltip: {}, | 
|  | dataset: [{ | 
|  | source: nameValueGeo0 | 
|  | }, { | 
|  | source: nameValueGeo1 | 
|  | }], | 
|  | visualMap: { | 
|  | min: 0, | 
|  | max: 1500, | 
|  | calculable : true | 
|  | }, | 
|  | series: [{ | 
|  | name: 'A', | 
|  | type: 'map', | 
|  | label: { | 
|  | show: true | 
|  | }, | 
|  | mapType: 'china' | 
|  | }, { | 
|  | name: 'B', | 
|  | type: 'map', | 
|  | label: { | 
|  | show: true | 
|  | }, | 
|  | mapType: 'china', | 
|  | datasetIndex: 1 | 
|  | }] | 
|  | }; | 
|  |  | 
|  | testHelper.create(echarts, 'layout4', { | 
|  | option: option, | 
|  | height: 400, | 
|  | dataTables: [ | 
|  | nameValueGeo0, | 
|  | nameValueGeo1 | 
|  | ], | 
|  | info: { | 
|  | legend: option.legend, | 
|  | tooltip: option.tooltip, | 
|  | series: option.series | 
|  | } | 
|  | }); | 
|  | }); | 
|  | </script> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <script> | 
|  | require(['echarts'], function (echarts) { | 
|  | var option = { | 
|  | legend: {}, | 
|  | tooltip: {}, | 
|  | xAxis: {}, | 
|  | yAxis: {}, | 
|  | dataset: [{ | 
|  | source: arrayRowsPairValueColumns | 
|  | }], | 
|  | series: [{ | 
|  | type: 'scatter' | 
|  | }, { | 
|  | type: 'scatter' | 
|  | }, { | 
|  | type: 'scatter' | 
|  | }] | 
|  | }; | 
|  |  | 
|  | testHelper.create(echarts, 'layout5', { | 
|  | title: 'column (dimension name duplicated)', | 
|  | height: 400, | 
|  | option: option, | 
|  | dataTables: [ | 
|  | arrayRowsPairValueColumns | 
|  | ], | 
|  | info: { | 
|  | legend: '<default>', | 
|  | series: option.series | 
|  | } | 
|  | }); | 
|  | }); | 
|  | </script> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <script> | 
|  | require(['echarts'], function (echarts) { | 
|  |  | 
|  |  | 
|  |  | 
|  | function renderItem(params, api) { | 
|  | var children = []; | 
|  | var coordDims = ['x', 'y']; | 
|  |  | 
|  | for (var baseDimIdx = 0; baseDimIdx < 2; baseDimIdx++) { | 
|  | var otherDimIdx = 1 - baseDimIdx; | 
|  | var encode = params.encode; | 
|  | var baseValue = api.value(encode[coordDims[baseDimIdx]][0]); | 
|  | var param = []; | 
|  | param[baseDimIdx] = baseValue; | 
|  | param[otherDimIdx] = api.value(encode[coordDims[otherDimIdx]][1]); | 
|  | var highPoint = api.coord(param); | 
|  | param[otherDimIdx] = api.value(encode[coordDims[otherDimIdx]][2]); | 
|  | var lowPoint = api.coord(param); | 
|  | var halfWidth = 5; | 
|  |  | 
|  | var style = api.style({ | 
|  | stroke: api.visual('color'), | 
|  | fill: null | 
|  | }); | 
|  |  | 
|  | children.push({ | 
|  | type: 'line', | 
|  | shape: makeShape( | 
|  | baseDimIdx, | 
|  | highPoint[baseDimIdx] - halfWidth, highPoint[otherDimIdx], | 
|  | highPoint[baseDimIdx] + halfWidth, highPoint[otherDimIdx] | 
|  | ), | 
|  | style: style | 
|  | }, { | 
|  | type: 'line', | 
|  | shape: makeShape( | 
|  | baseDimIdx, | 
|  | highPoint[baseDimIdx], highPoint[otherDimIdx], | 
|  | lowPoint[baseDimIdx], lowPoint[otherDimIdx] | 
|  | ), | 
|  | style: style | 
|  | }, { | 
|  | type: 'line', | 
|  | shape: makeShape( | 
|  | baseDimIdx, | 
|  | lowPoint[baseDimIdx] - halfWidth, lowPoint[otherDimIdx], | 
|  | lowPoint[baseDimIdx] + halfWidth, lowPoint[otherDimIdx] | 
|  | ), | 
|  | style: style | 
|  | }); | 
|  | } | 
|  |  | 
|  | function makeShape(baseDimIdx, base1, value1, base2, value2) { | 
|  | var shape = {}; | 
|  | shape[coordDims[baseDimIdx] + '1'] = base1; | 
|  | shape[coordDims[1 - baseDimIdx] + '1'] = value1; | 
|  | shape[coordDims[baseDimIdx] + '2'] = base2; | 
|  | shape[coordDims[1 - baseDimIdx] + '2'] = value2; | 
|  | return shape; | 
|  | } | 
|  |  | 
|  | return { | 
|  | type: 'group', | 
|  | children: children | 
|  | }; | 
|  | } | 
|  |  | 
|  | var option = { | 
|  | dataset: { | 
|  | source: errorData | 
|  | }, | 
|  | tooltip: { | 
|  | }, | 
|  | legend: { | 
|  | }, | 
|  | dataZoom: [{ | 
|  | type: 'slider' | 
|  | }, { | 
|  | type: 'inside' | 
|  | }], | 
|  | visualMap: { | 
|  | min: 0, | 
|  | max: 1000, | 
|  | dimension: 1, | 
|  | calculable: true | 
|  | }, | 
|  | xAxis: {}, | 
|  | yAxis: {}, | 
|  | series: [{ | 
|  | type: 'scatter', | 
|  | name: 'error', | 
|  | encode: { | 
|  | x: 2, | 
|  | y: 1, | 
|  | tooltip: [2, 1, 3, 4, 5, 6], | 
|  | itemName: 0 | 
|  | }, | 
|  | itemStyle: { | 
|  | normal: { | 
|  | color: '#77bef7' | 
|  | } | 
|  | } | 
|  | }, { | 
|  | type: 'custom', | 
|  | name: 'error', | 
|  | renderItem: renderItem, | 
|  | encode: { | 
|  | x: [2, 3, 4], | 
|  | y: [1, 5, 6], | 
|  | tooltip: [2, 1, 3, 4, 5, 6], | 
|  | itemName: 0 | 
|  | }, | 
|  | z: 100 | 
|  | }] | 
|  | }; | 
|  |  | 
|  | testHelper.create(echarts, 'layout6', { | 
|  | title: 'error data (custom)', | 
|  | height: 400, | 
|  | dataTables: [ | 
|  | errorData | 
|  | ], | 
|  | option: option | 
|  | }); | 
|  | }); | 
|  | </script> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <script> | 
|  |  | 
|  | require(['echarts', 'data/stock-DJI.json.js'], function (echarts, source) { | 
|  | var option = { | 
|  | legend: {}, | 
|  | tooltip: {trigger: 'axis'}, | 
|  | xAxis: {type: 'category'}, | 
|  | yAxis: {}, | 
|  | dataset: [{ | 
|  | source: source | 
|  | }], | 
|  | dataZoom: [{}, {type: 'inside'}], | 
|  | animation: false, | 
|  | series: [{ | 
|  | type: 'candlestick', | 
|  | encode: { | 
|  | x: 0, | 
|  | y: [1, 2, 3, 4] | 
|  | } | 
|  | }] | 
|  | }; | 
|  |  | 
|  | testHelper.create(echarts, 'layout7', { | 
|  | height: 400, | 
|  | option: option, | 
|  | dataTables: [source], | 
|  | info: { | 
|  | series: option.series | 
|  | } | 
|  | }); | 
|  | }); | 
|  | </script> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <script> | 
|  |  | 
|  | require(['echarts'], function (echarts, source) { | 
|  | // Thanks to <https://github.com/OvidiuBuleandra> | 
|  | option = { | 
|  | tooltip: { | 
|  | trigger: 'axis' | 
|  | }, | 
|  | xAxis: { | 
|  | type: "category", | 
|  | scale: true | 
|  | }, | 
|  | yAxis: { | 
|  | type: "value", | 
|  | scale: true, | 
|  | boundaryGap: ['5%', '5%'] | 
|  | }, | 
|  | dataZoom: [{ | 
|  | type: 'slider' | 
|  | }, { | 
|  | type: 'inside' | 
|  | }], | 
|  | dataset: { | 
|  | dimensions: ["date","open","high","low","close","volume",{name: "haOpen", displayName: 'open'},"haHigh","haLow","haClose","sma9"], | 
|  | source: [ | 
|  | ["2018-01-09 14:30:00",14636.21,14682.6,14401.0,14659.57,349.069176,14647.89,14682.6,14401.0,14594.845,0.0], | 
|  | ["2018-01-09 15:00:00",14650.0,14700.0,14238.99,14347.43,459.735215,14621.3675,14700.0,14238.99,14484.105,0.0], | 
|  | ["2018-01-09 15:30:00",14374.72,14434.2,14011.05,14041.03,697.055035,14552.73625,14552.73625,14011.05,14215.25,0.0], | 
|  | ["2018-01-09 16:00:00",14072.87,14497.06,14064.13,14349.0,671.165463,14383.993125,14497.06,14064.13,14245.765,0.0], | 
|  | ["2018-01-09 16:30:00",14369.98,14640.99,14340.0,14560.48,416.750768,14314.8790625,14640.99,14314.8790625,14477.8625,0.0], | 
|  | ["2018-01-09 17:00:00",14551.42,14800.0,14551.41,14749.55,357.445717,14396.37078125,14800.0,14396.37078125,14663.095000000001,0.0], | 
|  | ["2018-01-09 17:30:00",14745.0,14766.2,14485.0,14654.96,306.727704,14529.732890625,14766.2,14485.0,14662.789999999999,0.0], | 
|  | ["2018-01-09 18:00:00",14655.01,14829.0,14585.01,14800.1,194.858965,14596.261445312499,14829.0,14585.01,14717.28,0.0], | 
|  | ["2018-01-09 18:30:00",14800.1,14998.62,14792.03,14951.01,313.268531,14656.770722656249,14998.62,14656.770722656249,14885.44,0.0], | 
|  | ["2018-01-09 19:00:00",14968.0,14982.0,14778.47,14810.0,214.504459,14771.105361328126,14982.0,14771.105361328126,14884.6175,16213.681111111111], | 
|  | ["2018-01-09 19:30:00",14810.0,14973.49,14799.95,14949.98,144.830078,14827.861430664063,14973.49,14799.95,14883.355,16245.94888888889], | 
|  | ["2018-01-09 20:00:00",14949.98,14990.0,14865.49,14916.91,145.574797,14855.608215332031,14990.0,14855.608215332031,14930.595000000001,16309.224444444444], | 
|  | ["2018-01-09 20:30:00",14914.03,14945.01,14799.01,14803.44,146.21296,14893.101607666016,14945.01,14799.01,14865.372500000001,16393.936666666665], | 
|  | ["2018-01-09 21:00:00",14803.46,14863.93,14700.44,14799.0,190.167582,14879.237053833009,14879.237053833009,14700.44,14791.7075,16443.936666666665], | 
|  | ["2018-01-09 21:30:00",14798.99,14798.99,14650.0,14717.82,209.543776,14835.472276916506,14835.472276916506,14650.0,14741.449999999999,16461.41888888889], | 
|  | ["2018-01-09 22:00:00",14717.82,14781.56,14600.0,14615.9,164.859485,14788.461138458253,14788.461138458253,14600.0,14678.82,16446.568888888887], | 
|  | ["2018-01-09 22:30:00",14647.09,14861.56,14615.4,14755.03,228.445843,14733.640569229126,14861.56,14615.4,14719.77,16457.687777777777], | 
|  | ["2018-01-09 23:00:00",14755.33,14780.0,14680.0,14702.33,150.779654,14726.705284614563,14780.0,14680.0,14729.415,16446.824444444443], | 
|  | ["2018-01-09 23:30:00",14709.49,14709.49,14420.0,14462.81,274.752199,14728.060142307282,14728.060142307282,14420.0,14575.447499999998,16392.579999999998], | 
|  | ["2018-01-10 00:00:00",14452.0,14536.36,14407.77,14435.0,279.156552,14651.753821153641,14651.753821153641,14407.77,14457.782500000001,16350.913333333334], | 
|  | ["2018-01-10 00:30:00",14435.0,14459.94,14182.84,14254.92,435.050575,14554.768160576821,14554.768160576821,14182.84,14333.175,16273.684444444445], | 
|  | ["2018-01-10 01:00:00",14234.7,14290.56,14125.0,14259.98,422.926221,14443.97158028841,14443.97158028841,14125.0,14227.560000000001,16200.692222222224], | 
|  | ["2018-01-10 01:30:00",14259.98,14454.95,14144.13,14400.0,377.788542,14335.765790144205,14454.95,14144.13,14314.765,16155.865555555552], | 
|  | ["2018-01-10 02:00:00",14401.0,14480.0,13750.0,13972.46,582.921859,14325.265395072103,14480.0,13750.0,14150.865,16064.027777777777] | 
|  | ] | 
|  | }, | 
|  | series: [{ | 
|  | type: "candlestick", | 
|  | encode: { | 
|  | x: "date", | 
|  | // y: ["open", "close", "low", "high"], | 
|  | y: ["haOpen","haClose","haLow","haHigh"], | 
|  | tooltip: ["haOpen", "haHigh", "haLow", "haClose"] | 
|  | } | 
|  | }] | 
|  | }; | 
|  |  | 
|  | testHelper.create(echarts, 'layout7.5', { | 
|  | title: 'Check: Y use haOpen, haHigh, haLow, haClose, but display name of "haOpen" is open', | 
|  | height: 400, | 
|  | option: option, | 
|  | dataTable: option.dataset.source, | 
|  | info: { | 
|  | series: option.series | 
|  | } | 
|  | }); | 
|  | }); | 
|  | </script> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <script> | 
|  |  | 
|  | require(['echarts', 'data/stock-DJI.json.js'], function (echarts, source) { | 
|  | var option = { | 
|  | legend: {}, | 
|  | tooltip: {trigger: 'axis'}, | 
|  | xAxis: {type: 'time'}, | 
|  | yAxis: {}, | 
|  | dataset: [{ | 
|  | source: source | 
|  | }], | 
|  | dataZoom: [{}, {type: 'inside'}], | 
|  | animation: false, | 
|  | series: [{ | 
|  | type: 'candlestick', | 
|  | encode: { | 
|  | x: 0, | 
|  | y: [1, 2, 3, 4] | 
|  | } | 
|  | }] | 
|  | }; | 
|  |  | 
|  | testHelper.create(echarts, 'layout8', { | 
|  | title: 'time axis', | 
|  | height: 400, | 
|  | option: option, | 
|  | dataTables: [source], | 
|  | info: { | 
|  | series: option.series | 
|  | } | 
|  | }); | 
|  | }); | 
|  | </script> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <script> | 
|  |  | 
|  | require(['echarts'], function (echarts, source) { | 
|  | var option = { | 
|  | legend: {}, | 
|  | dataset: [{ | 
|  | source: arrayRows1 | 
|  | }], | 
|  | parallelAxis: [ | 
|  | {dim: 0, type: 'category'}, | 
|  | {dim: 1}, | 
|  | {dim: 2}, | 
|  | {dim: 3} | 
|  | ], | 
|  | parallel: { | 
|  | axisExpandable: true, | 
|  | axisExpandCenter: 15, | 
|  | axisExpandCount: 10, | 
|  | axisExpandWidth: 60, | 
|  | axisExpandTriggerOn: 'mousemove', | 
|  |  | 
|  | parallelAxisDefault: { | 
|  | type: 'value', | 
|  | nameLocation: 'end', | 
|  | nameGap: 20, | 
|  | tooltip: { | 
|  | show: true | 
|  | }, | 
|  | nameTextStyle: { | 
|  | fontSize: 14 | 
|  | }, | 
|  | splitLine: { | 
|  | show: false | 
|  | } | 
|  | } | 
|  | }, | 
|  | series: [{ | 
|  | type: 'parallel' | 
|  | }] | 
|  | }; | 
|  |  | 
|  | testHelper.create(echarts, 'layout9', { | 
|  | height: 400, | 
|  | option: option, | 
|  | dataTables: [arrayRows1] | 
|  | }); | 
|  | }); | 
|  | </script> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <script> | 
|  | require(['echarts'], function (echarts) { | 
|  |  | 
|  | var option = { | 
|  | legend: {}, | 
|  | tooltip: {}, | 
|  | dataset: { | 
|  | source: arrayRows0 | 
|  | }, | 
|  | series: [ | 
|  | { | 
|  | label: { | 
|  | formatter: '{@product} {@[1]}' | 
|  | }, | 
|  | type: 'funnel', | 
|  | id: 'pie' | 
|  | } | 
|  | ] | 
|  | }; | 
|  |  | 
|  | testHelper.create(echarts, 'layout10', { | 
|  | option: option, | 
|  | dataTable: arrayRows0 | 
|  | }); | 
|  | }); | 
|  | </script> | 
|  |  | 
|  |  | 
|  |  | 
|  | <script> | 
|  | require(['echarts'], function (echarts) { | 
|  | var option = { | 
|  | dataset: { | 
|  | source: [ | 
|  | [12, 323, 11.2], | 
|  | [23, 167, 8.3], | 
|  | [81, 284, 12], | 
|  | [91, 413, 4.1], | 
|  | [13, 287, 13.5] | 
|  | ] | 
|  | }, | 
|  | xAxis: {}, | 
|  | yAxis: {}, | 
|  | visualMap: { | 
|  | show: false, | 
|  | dimension: 2, | 
|  | min: 2, | 
|  | max: 15, | 
|  | inRange: { | 
|  | symbolSize: [5, 60] | 
|  | } | 
|  | }, | 
|  | series: { | 
|  | type: 'scatter' | 
|  | } | 
|  | }; | 
|  |  | 
|  | testHelper.create(echarts, 'layout11', { | 
|  | option: option, | 
|  | dataTable: option.dataset.source | 
|  | }); | 
|  | }); | 
|  | </script> | 
|  |  | 
|  | <script> | 
|  | require(['echarts'], function (echarts) { | 
|  | var option = { | 
|  | dataset: { | 
|  | source: [ | 
|  | ['product', '2015', '2016', '2017'], | 
|  | ['Matcha Latte', 43.3, 85.8, 93.7], | 
|  | ['Milk Tea', 83.1, 73.4, 55.1], | 
|  | ['Cheese Cocoa', 86.4, 65.2, 82.5], | 
|  | ['Walnut Brownie', 72.4, 53.9, 39.1] | 
|  | ] | 
|  | }, | 
|  | xAxis: {type: 'category'}, | 
|  | yAxis: {}, | 
|  | series: [ | 
|  | {type: 'bar'}, | 
|  | {type: 'bar'}, | 
|  | {type: 'bar'} | 
|  | ], | 
|  | toolbox: { | 
|  | feature: { | 
|  | dataView: {} | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | testHelper.create(echarts, 'layout12', { | 
|  | option: option, | 
|  | dataTable: option.dataset.source | 
|  | }); | 
|  | }); | 
|  | </script> | 
|  |  | 
|  | </body> | 
|  | </html> |