| |
| <!-- |
| 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> |