| |
| <!-- |
| 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/esl.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> |
| |
| |
| <script> |
| var chart; |
| require([ |
| 'echarts' |
| // 'echarts/chart/pie', |
| // 'echarts/component/legend', |
| // 'echarts/component/grid', |
| // 'echarts/component/tooltip', |
| // 'echarts/component/toolbox' |
| ], 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: 'multiply' |
| } |
| }; |
| |
| testHelper.create(echarts, 'main2', { |
| option: option, |
| info: option |
| }) |
| |
| }); |
| </script> |
| |
| |
| |
| |
| |
| </body> |
| </html> |