| <!-- | |
| 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="data/pie-texture.js"></script> | |
| <script src="lib/dat.gui.min.js"></script> | |
| <link rel="stylesheet" href="lib/reset.css" /> | |
| <script src="lib/testHelper.js"></script> | |
| </head> | |
| <body> | |
| <style> | |
| </style> | |
| <div id="main"></div> | |
| <div id="main2"></div> | |
| <div id="main3"></div> | |
| <script> | |
| var chart; | |
| require([ | |
| 'echarts' | |
| ], function (echarts) { | |
| chart = echarts.init(document.getElementById('main')); | |
| // Pencil sketch texture | |
| var patternSrc = window.pieTexture; | |
| var itemStyle = { | |
| normal: { | |
| opacity: 0.7, | |
| color: { | |
| image: patternSrc, | |
| repeat: 'repeat' | |
| }, | |
| borderWidth: 3, | |
| borderColor: '#235894' | |
| // shadowBlur: 10, | |
| // shadowOffsetX: 0, | |
| // shadowOffsetY: 5, | |
| // shadowColor: 'rgba(0, 0, 0, 0.4)' | |
| } | |
| }; | |
| chart.setOption({ | |
| legend: { | |
| data: ['直接访问(初始就被选中)','邮件营销','联盟广告','视频广告','搜索引擎'] | |
| // data: [] | |
| }, | |
| toolbox: { | |
| left: 'left', | |
| feature: { | |
| dataView: {}, | |
| saveAsImage: {} | |
| } | |
| }, | |
| tooltip: {}, | |
| series: [{ | |
| name: 'pie', | |
| type: 'pie', | |
| selectedMode: 'single', | |
| selectedOffset: 30, | |
| clockwise: true, | |
| label: { | |
| textStyle: { | |
| fontSize: 18, | |
| // color: '#333' | |
| } | |
| }, | |
| labelLine: { | |
| lineStyle: { | |
| color: '#333' | |
| } | |
| }, | |
| // emphasis: { | |
| // labelLine: { | |
| // lineStyle: { | |
| // color: 'red' | |
| // } | |
| // }, | |
| // itemStyle: { | |
| // } | |
| // }, | |
| data:[ | |
| { | |
| value:235, | |
| name:'直接访问(初始就被选中)', | |
| cursor: 'move', | |
| selected: true | |
| }, | |
| {value: 163, name: '标签在内部', | |
| label: { | |
| normal: { | |
| position: 'inside' | |
| } | |
| } | |
| }, | |
| {value:310, name:'邮件营销', label: { | |
| normal: { | |
| textStyle: { // compat | |
| color: 'red' | |
| }, | |
| formatter: '{abg|(居右)背景文字 }\n {b|{b}}{c|} ', | |
| backgroundColor: 'rgba(0,0,0,0.1)', | |
| borderColor: '#777', | |
| borderWidth: 2, | |
| borderRadius: 3, | |
| rich: { | |
| abg: { | |
| color: '#eee', | |
| fontSize: 14, | |
| backgroundColor: '#333', | |
| width: '100%', | |
| align: 'right', | |
| height: 22, | |
| borderRadius: [4, 4, 0, 0] // 四角的 borderRadius | |
| }, | |
| b: { | |
| fontSize: 20, | |
| lineHeight: 46 | |
| }, | |
| c: { | |
| backgroundColor: { | |
| image: './data/hill-Kilimanjaro.png', | |
| }, | |
| height: 30 | |
| } | |
| } | |
| }, | |
| emphasis: { | |
| } | |
| }}, | |
| {value:234, name:'联盟广告', label: { | |
| normal: { | |
| textStyle: { // compat | |
| color: 'red' | |
| }, | |
| formatter: '{a|(居中)背景文字顺序上有些 triky}{abg|}\n {b|{b}}{c|} ', | |
| backgroundColor: 'rgba(0,0,0,0.1)', | |
| borderColor: '#777', | |
| borderWidth: 2, | |
| borderRadius: 3, | |
| rich: { | |
| a: { | |
| color: '#eee', | |
| fontSize: 14, | |
| align: 'center' | |
| }, | |
| abg: { | |
| backgroundColor: '#333', | |
| width: '100%', | |
| align: 'right', | |
| height: 22, | |
| borderRadius: [4, 4, 0, 0] // 四角的 borderRadius | |
| }, | |
| b: { | |
| fontSize: 20, | |
| lineHeight: 46 | |
| }, | |
| c: { | |
| backgroundColor: { | |
| image: './data/hill-Kilimanjaro.png', | |
| }, | |
| height: 30 | |
| } | |
| } | |
| }, | |
| emphasis: { | |
| } | |
| }}, | |
| {value:135, name:'视频广告', label: { | |
| normal: { | |
| textStyle: { // compat | |
| color: 'red' | |
| }, | |
| formatter: '{abg|(居左)背景文字}\n {b|{b}}{c|} ', | |
| backgroundColor: 'rgba(0,0,0,0.1)', | |
| borderColor: '#777', | |
| borderWidth: 2, | |
| borderRadius: 3, | |
| rich: { | |
| abg: { | |
| color: '#eee', | |
| fontSize: 14, | |
| backgroundColor: '#333', | |
| width: '100%', | |
| align: 'left', | |
| height: 22, | |
| borderRadius: [4, 4, 0, 0] // 四角的 borderRadius | |
| }, | |
| b: { | |
| fontSize: 20, | |
| lineHeight: 46 | |
| }, | |
| c: { | |
| backgroundColor: { | |
| image: './data/hill-Kilimanjaro.png', | |
| }, | |
| height: 30 | |
| } | |
| } | |
| }, | |
| emphasis: { | |
| } | |
| }}, | |
| {value:148, name:'搜索引擎', label: { | |
| normal: { | |
| textStyle: { // compat | |
| color: 'red' | |
| }, | |
| formatter: '{a|富文本:(emphasis 背景改变)}\n{hr|}\n{b|{b}}{c|}', | |
| backgroundColor: 'rgba(0,0,0,0.1)', | |
| borderColor: '#777', | |
| borderWidth: 2, | |
| padding: 5, | |
| borderRadius: 3, | |
| rich: { | |
| a: { | |
| color: '#334499', | |
| align: 'left' | |
| }, | |
| b: { | |
| fontSize: 20 | |
| }, | |
| hr: { | |
| width: '100%', | |
| borderColor: '#999', | |
| borderWidth: 0.5, | |
| height: 0, | |
| lineHeight: 15 | |
| }, | |
| c: { | |
| backgroundColor: { | |
| image: './data/hill-Kilimanjaro.png', | |
| }, | |
| height: 30 | |
| } | |
| } | |
| }, | |
| emphasis: { | |
| backgroundColor: 'rgba(0,0,0,0.5)', | |
| shadowOffsetX: 5, | |
| shadowOffsetY: 5, | |
| shadowBlur: 5, | |
| shadowColor: '#333' | |
| } | |
| }} | |
| ], | |
| itemStyle: itemStyle | |
| }] | |
| }); | |
| var config = { | |
| labelPosition: 'outside', | |
| clockwise: true, | |
| labelLineLen: 20, | |
| labelLineLen2: 5 | |
| }; | |
| function update() { | |
| chart.setOption({ | |
| series: [{ | |
| name: 'pie', | |
| clockwise: config.clockwise, | |
| label: { | |
| normal: { | |
| position: config.labelPosition | |
| } | |
| }, | |
| labelLine: { | |
| normal: { | |
| length: config.labelLineLen, | |
| length2: config.labelLineLen2 | |
| } | |
| } | |
| }] | |
| }); | |
| } | |
| var gui = new dat.GUI(); | |
| gui.add(config, 'clockwise') | |
| .onChange(update); | |
| gui.add(config, 'labelPosition', ['inside', 'outside']) | |
| .onChange(update); | |
| gui.add(config, 'labelLineLen', 0, 100) | |
| .onChange(update); | |
| gui.add(config, 'labelLineLen2', 0, 100) | |
| .onChange(update); | |
| }) | |
| </script> | |
| <script> | |
| require([ | |
| 'echarts' | |
| ], function (echarts) { | |
| var option = { | |
| legend: {}, | |
| dataset: { | |
| source: [ | |
| {name: 'a', value: 123}, | |
| {name: 'b', value: 456}, | |
| {name: 'should be selected', value: 789, selected: true} | |
| ] | |
| }, | |
| series: { | |
| type: 'pie', | |
| selectedMode: 'multiple' | |
| } | |
| }; | |
| testHelper.create(echarts, 'main2', { | |
| option: option, | |
| info: option | |
| }) | |
| }); | |
| </script> | |
| <script> | |
| require([ | |
| 'echarts' | |
| ], function (echarts) { | |
| var clockwise = true; | |
| var option = { | |
| series: [ | |
| { | |
| type: "pie", | |
| radius: ["40.625%", "100%"], | |
| startAngle: 320, | |
| clockwise, | |
| data: [ | |
| { value: 0, name: "Search Engine" }, | |
| { value: 0, name: "Direct" }, | |
| { value: 0, name: "Email" }, | |
| { value: 0, name: "Union Ads" } | |
| ] | |
| } | |
| ] | |
| }; | |
| var chart = testHelper.create(echarts, 'main3', { | |
| title: [ | |
| 'Shouldn\'t be fully annular', | |
| 'from https://github.com/apache/echarts/issues/16363' | |
| ], | |
| option | |
| }); | |
| setTimeout(function () { | |
| option.series[0].data = [ | |
| { value: 21, name: "Search Engine" }, | |
| { value: 8, name: "Direct" }, | |
| { value: 1, name: "Email" }, | |
| { value: 0, name: "Union Ads" } | |
| ]; | |
| chart.setOption(option); | |
| }, 1e3); | |
| }); | |
| </script> | |
| </body> | |
| </html> |