|  | <!-- | 
|  | 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/testHelper.js"></script> | 
|  | <link rel="stylesheet" href="lib/reset.css" /> | 
|  | <meta name="viewport" content="width=device-width, initial-scale=1" /> | 
|  | </head> | 
|  |  | 
|  | <body> | 
|  | <style> | 
|  | h1 { | 
|  | line-height: 60px; | 
|  | height: 60px; | 
|  | background: #146402; | 
|  | text-align: center; | 
|  | font-weight: bold; | 
|  | color: #eee; | 
|  | font-size: 14px; | 
|  | } | 
|  |  | 
|  | .chart { | 
|  | height: 300px; | 
|  | } | 
|  | </style> | 
|  |  | 
|  | <div class="chart" id="plain"></div> | 
|  | <div class="chart" id="plain1"></div> | 
|  | <div class="chart" id="plain2"></div> | 
|  | <div class="chart" id="plain3"></div> | 
|  | <script> | 
|  | require([ | 
|  | 'echarts' | 
|  | ], function (echarts) { | 
|  | var graphic = echarts.graphic; | 
|  |  | 
|  | var option = { | 
|  | tooltip: { | 
|  | trigger: 'axis', | 
|  | axisPointer: { | 
|  | type: 'cross', | 
|  | label: { | 
|  | backgroundColor: '#6a7985' | 
|  | } | 
|  | } | 
|  | }, | 
|  | legend: { | 
|  | data: ['邮件营销', '联盟广告', '视频广告', '直接访问', '搜索引擎'], | 
|  | itemStyle: { | 
|  | // borderColor: '#f00', | 
|  | borderWidth: 3, | 
|  | borderType: 'dashed' | 
|  | }, | 
|  | selected: { | 
|  | '联盟广告': false, | 
|  | '视频广告': false | 
|  | } | 
|  | }, | 
|  | toolbox: { | 
|  | feature: { | 
|  | saveAsImage: {} | 
|  | } | 
|  | }, | 
|  | grid: { | 
|  | left: '3%', | 
|  | right: '4%', | 
|  | bottom: '3%', | 
|  | containLabel: true | 
|  | }, | 
|  | xAxis: [ | 
|  | { | 
|  | type: 'category', | 
|  | boundaryGap: false, | 
|  | data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'] | 
|  | } | 
|  | ], | 
|  | yAxis: [ | 
|  | { | 
|  | type: 'value' | 
|  | } | 
|  | ], | 
|  | series: [ | 
|  | { | 
|  | name: '邮件营销', | 
|  | type: 'line', | 
|  | stack: '总量', | 
|  | areaStyle: {}, | 
|  | // default emptyCircle | 
|  | // symbol: 'circle', | 
|  | itemStyle: { | 
|  | borderColor: '#096', | 
|  | borderWidth: 1 | 
|  | }, | 
|  | data: [120, 132, 101, 134, 90, 230, 210] | 
|  | }, | 
|  | { | 
|  | name: '联盟广告', | 
|  | type: 'line', | 
|  | stack: '总量', | 
|  | areaStyle: {}, | 
|  | symbol: 'circle', | 
|  | itemStyle: { | 
|  | borderColor: '#ffde33', | 
|  | borderWidth: 1 | 
|  | }, | 
|  | data: [220, 182, 191, 234, 290, 330, 310] | 
|  | }, | 
|  | { | 
|  | name: '视频广告', | 
|  | type: 'line', | 
|  | stack: '总量', | 
|  | areaStyle: {}, | 
|  | symbol: 'rect', | 
|  | itemStyle: { | 
|  | borderColor: '#ff9933', | 
|  | borderWidth: 2 | 
|  | }, | 
|  | data: [150, 232, 201, 154, 190, 330, 410] | 
|  | }, | 
|  | { | 
|  | name: '直接访问', | 
|  | type: 'line', | 
|  | stack: '总量', | 
|  | areaStyle: { normal: {} }, | 
|  | symbol: 'roundRect', | 
|  | itemStyle: { | 
|  | borderColor: '#cc0033', | 
|  | borderWidth: 3 | 
|  | }, | 
|  | data: [320, 332, 301, 334, 390, 330, 320] | 
|  | }, | 
|  | { | 
|  | name: '搜索引擎', | 
|  | type: 'line', | 
|  | stack: '总量', | 
|  | label: { | 
|  | normal: { | 
|  | show: true, | 
|  | position: 'top' | 
|  | } | 
|  | }, | 
|  | areaStyle: { normal: {} }, | 
|  | symbol: 'triangle', | 
|  | itemStyle: { | 
|  | borderColor: '#660099', | 
|  | borderWidth: 4 | 
|  | }, | 
|  | data: [820, 932, 901, 934, 1290, 1330, 1320] | 
|  | } | 
|  | ] | 
|  | }; | 
|  | // chart.setOption(option); | 
|  | testHelper.create(echarts, 'plain', { | 
|  | title: [ | 
|  | '(Legend symbol of line)', | 
|  | 'the emptyCircle symbol doesn\'t have fillColor, so the strokeColor should be the same as color of corresponding series', | 
|  | 'the borderType of legend symbol is dashed, especially the first emptyCircle symbol', | 
|  | 'the color of line in legend symbol should be same as corresponding symbol', | 
|  | 'the borderWidth of legend symbols should only be determined by legend.itemStyle.borderWidth', | 
|  | 'the second and the third legend symbol should be unselected' | 
|  | ], | 
|  | option: option, | 
|  | height: 300 | 
|  | }); | 
|  |  | 
|  |  | 
|  | var option1 = { | 
|  | tooltip: { | 
|  | trigger: 'axis', | 
|  | axisPointer: { | 
|  | type: 'shadow' | 
|  | } | 
|  | }, | 
|  | legend: { | 
|  | data: ['直接访问', '邮件营销', '联盟广告', '视频广告', '搜索引擎', '百度', '谷歌', '必应', '其他'], | 
|  | itemStyle: { | 
|  | borderWidth: 3 | 
|  | }, | 
|  | selected: { | 
|  | '联盟广告': false | 
|  | } | 
|  | }, | 
|  | grid: { | 
|  | left: '3%', | 
|  | right: '4%', | 
|  | bottom: '3%', | 
|  | containLabel: true | 
|  | }, | 
|  | xAxis: [ | 
|  | { | 
|  | type: 'category', | 
|  | data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'] | 
|  | } | 
|  | ], | 
|  | yAxis: [ | 
|  | { | 
|  | type: 'value' | 
|  | } | 
|  | ], | 
|  | series: [ | 
|  | { | 
|  | name: '直接访问', | 
|  | type: 'bar', | 
|  | data: [320, 332, 301, 334, 390, 330, 320], | 
|  | itemStyle: { | 
|  | borderColor: '#000', | 
|  | borderWidth: 3 | 
|  | } | 
|  | }, | 
|  | { | 
|  | name: '邮件营销', | 
|  | type: 'bar', | 
|  | stack: '广告', | 
|  | data: [120, 132, 101, 134, 90, 230, 210], | 
|  | itemStyle: { | 
|  | barBorderColor: '#f00', | 
|  | borderColor: '#00f', | 
|  | borderWidth: 5 | 
|  | } | 
|  | }, | 
|  | { | 
|  | name: '联盟广告', | 
|  | type: 'bar', | 
|  | stack: '广告', | 
|  | data: [220, 182, 191, 234, 290, 330, 310] | 
|  | }, | 
|  | { | 
|  | name: '视频广告', | 
|  | type: 'bar', | 
|  | stack: '广告', | 
|  | data: [150, 232, 201, 154, 190, 330, 410] | 
|  | }, | 
|  | { | 
|  | name: '搜索引擎', | 
|  | type: 'bar', | 
|  | data: [862, 1018, 964, 1026, 1679, 1600, 1570], | 
|  | markLine: { | 
|  | lineStyle: { | 
|  | normal: { | 
|  | type: 'dashed' | 
|  | } | 
|  | }, | 
|  | data: [ | 
|  | [{ type: 'min' }, { type: 'max' }] | 
|  | ] | 
|  | } | 
|  | }, | 
|  | { | 
|  | name: '百度', | 
|  | type: 'bar', | 
|  | barWidth: 5, | 
|  | stack: '搜索引擎', | 
|  | data: [620, 732, 701, 734, 1090, 1130, 1120] | 
|  | }, | 
|  | { | 
|  | name: '谷歌', | 
|  | type: 'bar', | 
|  | stack: '搜索引擎', | 
|  | data: [120, 132, 101, 134, 290, 230, 220] | 
|  | }, | 
|  | { | 
|  | name: '必应', | 
|  | type: 'bar', | 
|  | stack: '搜索引擎', | 
|  | data: [60, 72, 71, 74, 190, 130, 110] | 
|  | }, | 
|  | { | 
|  | name: '其他', | 
|  | type: 'bar', | 
|  | stack: '搜索引擎', | 
|  | data: [62, 82, 91, 84, 109, 110, 120] | 
|  | } | 
|  | ] | 
|  | }; | 
|  | // chart1.setOption(option1); | 
|  | testHelper.create(echarts, 'plain1', { | 
|  | title: [ | 
|  | '(Legend symbol of bar)', | 
|  | 'the borderColor of first legend symbol should be black', | 
|  | 'the borderColor of second legend symbol should be blue', | 
|  | 'the bar borderColor of second series should be red, because the legend borderColor is incompatible with barBorderColor', | 
|  | 'the third legend symbol should be unselected', | 
|  | 'the borderColor of other legend symbols should be the same as color of corresponding series', | 
|  | 'the borderColor of all legend symbols should be 3' | 
|  | ], | 
|  | option: option1, | 
|  | height: 300 | 
|  | }); | 
|  |  | 
|  | var option2 = { | 
|  | tooltip: { | 
|  | trigger: 'item', | 
|  | formatter: "{a} <br/>{b}: {c} ({d}%)" | 
|  | }, | 
|  | legend: { | 
|  | orient: 'vertical', | 
|  | x: 'left', | 
|  | data: ['直达', '营销广告', '搜索引擎', '邮件营销', '联盟广告', '视频广告', '百度', '谷歌', '必应', '其他'], | 
|  | itemStyle: { | 
|  | borderWidth: 3, | 
|  | borderColor: '#f00' | 
|  | }, | 
|  | selected: { | 
|  | '直达': false | 
|  | } | 
|  | }, | 
|  | series: [ | 
|  | { | 
|  | name: '访问来源', | 
|  | type: 'pie', | 
|  | selectedMode: 'single', | 
|  | radius: [0, '30%'], | 
|  |  | 
|  | label: { | 
|  | normal: { | 
|  | position: 'inner' | 
|  | } | 
|  | }, | 
|  | itemStyle: { | 
|  | borderColor: '#ff9933', | 
|  | borderWidth: 2 | 
|  | }, | 
|  | labelLine: { | 
|  | normal: { | 
|  | show: false | 
|  | } | 
|  | }, | 
|  | data: [ | 
|  | { value: 335, name: '直达', selected: true }, | 
|  | { value: 679, name: '营销广告' }, | 
|  | { value: 1548, name: '搜索引擎' } | 
|  | ] | 
|  | }, | 
|  | { | 
|  | name: '访问来源', | 
|  | type: 'pie', | 
|  | radius: ['40%', '55%'], | 
|  | label: { | 
|  | normal: { | 
|  | formatter: '{a|{a}}{abg|}\n{hr|}\n  {b|{b}:}{c}  {per|{d}%}  ', | 
|  | backgroundColor: '#eee', | 
|  | borderColor: '#aaa', | 
|  | borderWidth: 1, | 
|  | borderRadius: 4, | 
|  | // shadowBlur:3, | 
|  | // shadowOffsetX: 2, | 
|  | // shadowOffsetY: 2, | 
|  | // shadowColor: '#999', | 
|  | // padding: [0, 7], | 
|  | rich: { | 
|  | a: { | 
|  | color: '#999', | 
|  | lineHeight: 22, | 
|  | align: 'center' | 
|  | }, | 
|  | // abg: { | 
|  | //     backgroundColor: '#333', | 
|  | //     width: '100%', | 
|  | //     align: 'right', | 
|  | //     height: 22, | 
|  | //     borderRadius: [4, 4, 0, 0] | 
|  | // }, | 
|  | hr: { | 
|  | borderColor: '#aaa', | 
|  | width: '100%', | 
|  | borderWidth: 0.5, | 
|  | height: 0 | 
|  | }, | 
|  | b: { | 
|  | fontSize: 16, | 
|  | lineHeight: 33 | 
|  | }, | 
|  | per: { | 
|  | color: '#eee', | 
|  | backgroundColor: '#334455', | 
|  | padding: [2, 4], | 
|  | borderRadius: 2 | 
|  | } | 
|  | } | 
|  | } | 
|  | }, | 
|  | itemStyle: { | 
|  | borderColor: '#660099', | 
|  | borderWidth: 4 | 
|  | }, | 
|  | data: [ | 
|  | { value: 335, name: '直达' }, | 
|  | { value: 310, name: '邮件营销' }, | 
|  | { value: 234, name: '联盟广告' }, | 
|  | { value: 135, name: '视频广告' }, | 
|  | { value: 1048, name: '百度' }, | 
|  | { value: 251, name: '谷歌' }, | 
|  | { value: 147, name: '必应' }, | 
|  | { value: 102, name: '其他' } | 
|  | ] | 
|  | } | 
|  | ] | 
|  | }; | 
|  | // chart2.setOption(option2); | 
|  | testHelper.create(echarts, 'plain2', { | 
|  | title: [ | 
|  | '(Legend symbol of pie)', | 
|  | 'the first legend symbol should be unselected', | 
|  | 'the borderColor of legend symbol should be red', | 
|  | 'the borderWidth of all legend symbols should be 3' | 
|  | ], | 
|  | option: option2, | 
|  | height: 300 | 
|  | }); | 
|  |  | 
|  |  | 
|  | var data = [ | 
|  | [[28604, 77, 17096869, 'Australia', 1990], [31163, 77.4, 27662440, 'Canada', 1990], [1516, 68, 1154605773, 'China', 1990], [13670, 74.7, 10582082, 'Cuba', 1990], [28599, 75, 4986705, 'Finland', 1990], [29476, 77.1, 56943299, 'France', 1990], [31476, 75.4, 78958237, 'Germany', 1990], [28666, 78.1, 254830, 'Iceland', 1990], [1777, 57.7, 870601776, 'India', 1990], [29550, 79.1, 122249285, 'Japan', 1990], [2076, 67.9, 20194354, 'North Korea', 1990], [12087, 72, 42972254, 'South Korea', 1990], [24021, 75.4, 3397534, 'New Zealand', 1990], [43296, 76.8, 4240375, 'Norway', 1990], [10088, 70.8, 38195258, 'Poland', 1990], [19349, 69.6, 147568552, 'Russia', 1990], [10670, 67.3, 53994605, 'Turkey', 1990], [26424, 75.7, 57110117, 'United Kingdom', 1990], [37062, 75.4, 252847810, 'United States', 1990]], | 
|  | [[44056, 81.8, 23968973, 'Australia', 2015], [43294, 81.7, 35939927, 'Canada', 2015], [13334, 76.9, 1376048943, 'China', 2015], [21291, 78.5, 11389562, 'Cuba', 2015], [38923, 80.8, 5503457, 'Finland', 2015], [37599, 81.9, 64395345, 'France', 2015], [44053, 81.1, 80688545, 'Germany', 2015], [42182, 82.8, 329425, 'Iceland', 2015], [5903, 66.8, 1311050527, 'India', 2015], [36162, 83.5, 126573481, 'Japan', 2015], [1390, 71.4, 25155317, 'North Korea', 2015], [34644, 80.7, 50293439, 'South Korea', 2015], [34186, 80.6, 4528526, 'New Zealand', 2015], [64304, 81.6, 5210967, 'Norway', 2015], [24787, 77.3, 38611794, 'Poland', 2015], [23038, 73.13, 143456918, 'Russia', 2015], [19360, 76.5, 78665830, 'Turkey', 2015], [38225, 81.4, 64715810, 'United Kingdom', 2015], [53354, 79.1, 321773631, 'United States', 2015]] | 
|  | ]; | 
|  |  | 
|  | var option3 = { | 
|  | backgroundColor: new echarts.graphic.RadialGradient(0.3, 0.3, 0.8, [{ | 
|  | offset: 0, | 
|  | color: '#f7f8fa' | 
|  | }, { | 
|  | offset: 1, | 
|  | color: '#cdd0d5' | 
|  | }]), | 
|  | title: { | 
|  | text: '1990 与 2015 年各国家人均寿命与 GDP' | 
|  | }, | 
|  | legend: { | 
|  | right: 10, | 
|  | data: ['1990', '2015'], | 
|  | itemStyle: { | 
|  | borderWidth: 3, | 
|  | borderColor: '#000' | 
|  | }, | 
|  | selected: { | 
|  | '1990': false | 
|  | } | 
|  | }, | 
|  | xAxis: { | 
|  | splitLine: { | 
|  | lineStyle: { | 
|  | type: 'dashed' | 
|  | } | 
|  | } | 
|  | }, | 
|  | yAxis: { | 
|  | splitLine: { | 
|  | lineStyle: { | 
|  | type: 'dashed' | 
|  | } | 
|  | }, | 
|  | scale: true | 
|  | }, | 
|  | series: [{ | 
|  | name: '1990', | 
|  | data: data[0], | 
|  | type: 'scatter', | 
|  | symbolSize: function (data) { | 
|  | return Math.sqrt(data[2]) / 5e2; | 
|  | }, | 
|  | label: { | 
|  | emphasis: { | 
|  | show: true, | 
|  | formatter: function (param) { | 
|  | return param.data[3]; | 
|  | }, | 
|  | position: 'top' | 
|  | } | 
|  | }, | 
|  | itemStyle: { | 
|  | normal: { | 
|  | shadowBlur: 10, | 
|  | shadowColor: 'rgba(120, 36, 50, 0.5)', | 
|  | shadowOffsetY: 5, | 
|  | color: new echarts.graphic.RadialGradient(0.4, 0.3, 1, [{ | 
|  | offset: 0, | 
|  | color: 'rgb(251, 118, 123)' | 
|  | }, { | 
|  | offset: 1, | 
|  | color: 'rgb(204, 46, 72)' | 
|  | }]) | 
|  | } | 
|  | } | 
|  | }, { | 
|  | name: '2015', | 
|  | data: data[1], | 
|  | type: 'scatter', | 
|  | symbolSize: function (data) { | 
|  | return Math.sqrt(data[2]) / 5e2; | 
|  | }, | 
|  | label: { | 
|  | emphasis: { | 
|  | show: true, | 
|  | formatter: function (param) { | 
|  | return param.data[3]; | 
|  | }, | 
|  | position: 'top' | 
|  | } | 
|  | }, | 
|  | itemStyle: { | 
|  | normal: { | 
|  | shadowBlur: 10, | 
|  | shadowColor: 'rgba(25, 100, 150, 0.5)', | 
|  | shadowOffsetY: 5, | 
|  | color: new echarts.graphic.RadialGradient(0.4, 0.3, 1, [{ | 
|  | offset: 0, | 
|  | color: 'rgb(129, 227, 238)' | 
|  | }, { | 
|  | offset: 1, | 
|  | color: 'rgb(25, 183, 207)' | 
|  | }]) | 
|  | } | 
|  | } | 
|  | }] | 
|  | }; | 
|  |  | 
|  | testHelper.create(echarts, 'plain3', { | 
|  | title: [ | 
|  | '(Legend symbol of scatter)', | 
|  | 'the legend symbol of 1990 should be unselected', | 
|  | 'the borderColor of legend symbol should be black', | 
|  | 'the borderWidth of all legend symbols should be 3' | 
|  | ], | 
|  | option: option3, | 
|  | height: 300 | 
|  | }); | 
|  |  | 
|  |  | 
|  | }); | 
|  |  | 
|  | </script> | 
|  | </body> | 
|  |  | 
|  | </html> |