| <!-- | |
| 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/facePrint.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> | |
| h1 { | |
| line-height: 60px; | |
| height: 60px; | |
| background: #146402; | |
| text-align: center; | |
| font-weight: bold; | |
| color: #eee; | |
| font-size: 14px; | |
| } | |
| .chart { | |
| height: 400px; | |
| } | |
| </style> | |
| <div class="chart" id="main1"></div> | |
| <h1>Narrow grid</h1> | |
| <div class="chart" id="main2"></div> | |
| <div class="chart" id="main3"></div> | |
| <div class="chart" id="main4"></div> | |
| <div class="chart" id="main5"></div> | |
| <div class="chart" id="main6"></div> | |
| <div class="chart" id="main7"></div> | |
| <script> | |
| require(['echarts'], function (echarts) { | |
| var chart = echarts.init(document.getElementById('main1'), null, { | |
| }); | |
| chart.setOption({ | |
| tooltip : { | |
| trigger: 'axis', | |
| axisPointer : { // 坐标轴指示器,坐标轴触发有效 | |
| type : 'shadow' // 默认为直线,可选为:'line' | 'shadow' | |
| } | |
| }, | |
| legend: { | |
| data:['直接访问','邮件营销','联盟广告','视频广告','搜索引擎','百度','谷歌','必应','其他'] | |
| }, | |
| toolbox: { | |
| show : true, | |
| orient: 'vertical', | |
| left: 'right', | |
| top: 'center', | |
| feature : { | |
| mark : {show: true}, | |
| dataView : {show: true, readOnly: false}, | |
| magicType : {show: true, type: ['line', 'bar', 'stack', 'tiled']}, | |
| restore : {show: true}, | |
| saveAsImage : {show: true} | |
| } | |
| }, | |
| calculable : true, | |
| xAxis : [ | |
| { | |
| type : 'category', | |
| data : ['周一','周二','周三','周四','周五','周六','周日'] | |
| } | |
| ], | |
| yAxis : [ | |
| { | |
| type : 'value' | |
| } | |
| ], | |
| series : [ | |
| { | |
| seletedMode: 'series', | |
| name:'直接访问', | |
| type:'bar', | |
| select: { | |
| itemStyle: { | |
| color: 'green' | |
| } | |
| }, | |
| data:[{value: 120, itemStyle: {selectable: false}}, 332, 301, 334, 390, 330, 320] | |
| }, | |
| { | |
| name:'邮件营销', | |
| type:'bar', | |
| stack: '广告', | |
| data:[120, 132, 101, 134, 90, 230, 210] | |
| }, | |
| { | |
| 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 : { | |
| itemStyle:{ | |
| normal:{ | |
| label: { | |
| formatter: function (params) { | |
| console.log(params); | |
| } | |
| }, | |
| lineStyle:{ | |
| 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] | |
| } | |
| ] | |
| }); | |
| }); | |
| </script> | |
| <script> | |
| var echarts; | |
| var chart; | |
| var myChart; | |
| var groupCategories = []; | |
| var groupColors = []; | |
| require(['echarts'], function (ec) { | |
| echarts = ec; | |
| option = { | |
| color: [{ | |
| type: 'linear', | |
| colorStops: [{ | |
| offset: 0, | |
| color: 'rgba(42, 20, 20, 0.8)' | |
| }, { | |
| offset: 1, | |
| color: 'rgba(42, 20, 20, 0)' | |
| }], | |
| x: 0.5, | |
| y: 0, | |
| x2: 0.49999999999999994, | |
| y2: 1 | |
| }], | |
| xAxis: { | |
| // data: ['a', 'b', 'c', 'd'], | |
| data: ['a', 'b'], | |
| axisTick: {show: false}, | |
| axisLabel: { | |
| formatter: 'barGap: \'-100%\'' | |
| } | |
| }, | |
| yAxis: { | |
| splitLine: {show: false} | |
| }, | |
| animationDurationUpdate: 1200, | |
| grid: { | |
| width: 100 | |
| }, | |
| animation: false, | |
| series: [{ | |
| type: 'bar', | |
| itemStyle: { | |
| normal: { | |
| color: '#ddd' | |
| } | |
| }, | |
| silent: true, | |
| barWidth: 40, | |
| barGap: '-100%', // Make series be overlap | |
| data: [60, 60], | |
| label: { | |
| show: true, | |
| color: 'blue', | |
| position: 'top' | |
| } | |
| }, { | |
| type: 'bar', | |
| barWidth: 40, | |
| z: 10, | |
| data: [45, 55] | |
| }] | |
| }; | |
| testHelper.createChart(echarts, 'main2', option); | |
| }); | |
| </script> | |
| <script> | |
| var echarts; | |
| var chart; | |
| var myChart; | |
| var groupCategories = []; | |
| var groupColors = []; | |
| require([ | |
| 'echarts' | |
| ], function (ec) { | |
| echarts = ec; | |
| var dataCount = 10; | |
| var dayTimestamp = 24 * 60 * 60 * 1000; | |
| function makeSeriesData() { | |
| var result = []; | |
| var date = +(new Date(2019, 8, 10)); | |
| for (var i = 0; i < dataCount; i++) { | |
| result.push([+date, Math.random() * 1000]); | |
| date += dayTimestamp; | |
| } | |
| return result; | |
| } | |
| option = { | |
| xAxis: { | |
| type: 'time', | |
| boundaryGap: ['20%', '20%'], | |
| splitLine: {show: false} | |
| }, | |
| yAxis: { | |
| axisLine: {show: false}, | |
| axisTick: {show: false}, | |
| splitLine: {show: false} | |
| }, | |
| legend: {}, | |
| series: [{ | |
| name: 'barA1', | |
| type: 'bar', | |
| stack: 'a', | |
| select: { | |
| itemStyle: { | |
| color: 'green' | |
| } | |
| }, | |
| itemStyle: { | |
| shadowBlur: 10, | |
| borderColor: '#ef1', | |
| borderWidth: 5 | |
| }, | |
| data: makeSeriesData() | |
| }, { | |
| name: 'barA2', | |
| type: 'bar', | |
| stack: 'a', | |
| itemStyle: { | |
| borderColor: '#1dd', | |
| borderWidth: 5 | |
| }, | |
| data: makeSeriesData() | |
| }, { | |
| name: 'barB', | |
| type: 'bar', | |
| itemStyle: { | |
| shadowBlur: 5, | |
| borderColor: '#ef1', | |
| borderWidth: 3 | |
| }, | |
| data: makeSeriesData() | |
| }] | |
| }; | |
| var chart = testHelper.create(echarts, 'main3', { | |
| title: [ | |
| 'bar on time axis', | |
| 'click the legend, the bar should display normally' | |
| ], | |
| option: option | |
| // recordCanvas: true | |
| }); | |
| }); | |
| </script> | |
| <script> | |
| var echarts; | |
| var chart; | |
| var myChart; | |
| var groupCategories = []; | |
| var groupColors = []; | |
| require([ | |
| 'echarts' | |
| ], function (ec) { | |
| echarts = ec; | |
| var dataCount = 5; | |
| function makeSeriesData() { | |
| var result = []; | |
| var date = 0; | |
| for (var i = 0; i < dataCount; i++) { | |
| result.push([+date, Math.random() * 1000]); | |
| date += Math.ceil(Math.random() * 10); | |
| } | |
| return result; | |
| } | |
| var itemStyle = { | |
| shadowBlur: 5 | |
| }; | |
| option = { | |
| xAxis: { | |
| scale: true, | |
| // boundaryGap: ['0.5%', .1], | |
| splitLine: {show: false} | |
| }, | |
| yAxis: { | |
| axisLabel: { | |
| margin: 40 | |
| }, | |
| axisLine: {show: false}, | |
| axisTick: {show: false}, | |
| splitLine: {show: false} | |
| }, | |
| dataZoom: [{ | |
| type: 'slider' | |
| }, { | |
| type: 'inside' | |
| }], | |
| legend: {}, | |
| series: [{ | |
| name: 'barA', | |
| type: 'bar', | |
| itemStyle: itemStyle, | |
| data: makeSeriesData() | |
| }, { | |
| name: 'barB', | |
| type: 'bar', | |
| itemStyle: itemStyle, | |
| data: makeSeriesData() | |
| }], | |
| animation: false | |
| }; | |
| var chart = testHelper.create(echarts, 'main4', { | |
| title: [ | |
| 'bar on value axis', | |
| 'click the legend, the bar should display normally' | |
| ], | |
| option: option | |
| // recordCanvas: true | |
| }); | |
| }); | |
| </script> | |
| <script> | |
| var echarts; | |
| var chart; | |
| var myChart; | |
| var groupCategories = []; | |
| var groupColors = []; | |
| require([ | |
| 'echarts' | |
| ], function (ec) { | |
| echarts = ec; | |
| var dataCount = 10; | |
| function makeSeriesData() { | |
| var result = []; | |
| var date = 10; | |
| for (var i = 0; i < dataCount; i++) { | |
| result.push([+date, Math.random() * 1000]); | |
| date += 1; | |
| } | |
| return result; | |
| } | |
| var itemStyle = { | |
| shadowBlur: 5 | |
| }; | |
| option = { | |
| xAxis: { | |
| type: 'category', | |
| scale: true, | |
| boundaryGap: false, | |
| splitLine: {show: false}, | |
| axisLine: {show: false} | |
| }, | |
| yAxis: { | |
| axisLabel: { | |
| margin: 40 | |
| }, | |
| axisLine: {show: false}, | |
| axisTick: {show: false}, | |
| splitLine: {show: false} | |
| }, | |
| legend: {}, | |
| series: [{ | |
| name: 'lineA', | |
| type: 'line', | |
| data: makeSeriesData() | |
| }, { | |
| name: 'barA', | |
| type: 'bar', | |
| itemStyle: itemStyle, | |
| data: makeSeriesData() | |
| }, { | |
| name: 'barB', | |
| type: 'bar', | |
| itemStyle: itemStyle, | |
| data: makeSeriesData() | |
| }] | |
| }; | |
| var chart = testHelper.create(echarts, 'main5', { | |
| title: [ | |
| 'bar on category axis', | |
| 'click the legend, the bar should display normally' | |
| ], | |
| option: option | |
| // recordCanvas: true | |
| }); | |
| }); | |
| </script> | |
| <script> | |
| require(['echarts'], function (echarts) { | |
| option = { | |
| animation: false, | |
| dataZoom: [ | |
| { | |
| "type": "slider", | |
| "show": true | |
| } | |
| ], | |
| color: ['#003366', '#e5323e'], | |
| legend: { | |
| data: ['Forest', 'Desert'] | |
| }, | |
| xAxis: [ | |
| { | |
| type: 'time' | |
| } | |
| ], | |
| yAxis: [ | |
| { | |
| type: 'value' | |
| } | |
| ], | |
| series: [ | |
| { | |
| name: 'Forest', | |
| type: 'bar', | |
| barGap: 0, | |
| data: [["2017-05-26", 320], ["2017-05-25", 340], ["2017-05-24", 310]] | |
| }, | |
| { | |
| name: 'Desert', | |
| type: 'bar', | |
| data: [["2017-05-26", 240], ["2017-05-24", 315]] | |
| } | |
| ] | |
| }; | |
| var chart = testHelper.create(echarts, 'main6', { | |
| title: [ | |
| 'Bar series with time axis', | |
| 'Zoom in and bars should not overlap' | |
| ], | |
| option: option | |
| }); | |
| }); | |
| </script> | |
| <script> | |
| require(['echarts'], function (echarts) { | |
| option = { | |
| xAxis: { | |
| type: 'category', | |
| data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] | |
| }, | |
| yAxis: { | |
| type: 'value' | |
| }, | |
| series: [ | |
| { | |
| data: [120, 200, 150, 80, 70, 110, 130], | |
| type: 'bar', | |
| showBackground: true, | |
| backgroundStyle: { | |
| color: 'rgba(180, 180, 180, 0.2)' | |
| }, | |
| select: { | |
| itemStyle: { | |
| color: 'red' | |
| } | |
| }, | |
| selectedMode: 'single', | |
| stack: 'all', | |
| emphasis: {focus: 'series', blurScope: 'coordinateSystem'} | |
| }, | |
| { | |
| data: [120, 200, 150, 80, 70, 110, 130], | |
| type: 'bar', | |
| showBackground: true, | |
| backgroundStyle: { | |
| color: 'rgba(180, 180, 180, 0.2)' | |
| }, | |
| select: { | |
| itemStyle: { | |
| color: 'yellow' | |
| } | |
| }, | |
| selectedMode: 'single', | |
| stack: 'all', | |
| emphasis: {focus: 'series', blurScope: 'coordinateSystem'} | |
| }, | |
| { | |
| data: [130, { | |
| value: 120, | |
| select: { | |
| disabled: true | |
| } | |
| }, 160, { | |
| value: 120, | |
| selected: true | |
| }, 170, { | |
| value: 210, | |
| selected: true | |
| }, 230], | |
| type: 'bar', | |
| showBackground: true, | |
| backgroundStyle: { | |
| color: 'rgba(180, 180, 180, 0.2)' | |
| }, | |
| stack: 'all', | |
| select: { | |
| itemStyle: { | |
| color: 'green' | |
| } | |
| }, | |
| emphasis: {focus: 'series', blurScope: 'coordinateSystem'}, | |
| selectedMode: 'single', | |
| } | |
| ] | |
| } | |
| var chart = testHelper.create(echarts, 'main7', { | |
| title: [ | |
| 'Select in Bar Series', | |
| 'Click on bar will turn whole series into select state, expect second item in second serie whose select has been disbale' | |
| ], | |
| option: option, | |
| button: [ | |
| { | |
| text: 'Click to update selectedMode to \'single\'', | |
| onClick: () => { | |
| chart.setOption({ | |
| series: [ | |
| { selectedMode: 'single' }, | |
| { selectedMode: 'single' }, | |
| { selectedMode: 'single' }, | |
| ] | |
| }) | |
| } | |
| }, | |
| { | |
| text: 'Click to update selectedMode \'multiple\'', | |
| onClick: () => { | |
| chart.setOption({ | |
| series: [ | |
| { selectedMode: 'multiple' }, | |
| { selectedMode: 'multiple' }, | |
| { selectedMode: 'multiple' }, | |
| ] | |
| }) | |
| } | |
| }, | |
| { | |
| text: 'Click to update selectedMode \'series\'', | |
| onClick: () => { | |
| chart.setOption({ | |
| series: [ | |
| { selectedMode: 'series' }, | |
| { selectedMode: 'series' }, | |
| { selectedMode: 'series' }, | |
| ] | |
| }) | |
| } | |
| }, | |
| ] | |
| }); | |
| }); | |
| </script> | |
| </body> | |
| </html> |