| |
| <!-- |
| 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> |
| </head> |
| <body> |
| <style> |
| html, body, #main { |
| width: 100%; |
| height: 100%; |
| } |
| </style> |
| <div id="main"></div> |
| <script> |
| |
| require([ |
| 'echarts' |
| ], function (echarts) { |
| |
| var chart = echarts.init(document.getElementById('main'), null, { |
| |
| }); |
| var labelTop = { |
| normal : { |
| label : { |
| show : true, |
| position : 'center', |
| formatter : '{b}', |
| textStyle: { |
| baseline : 'bottom' |
| } |
| }, |
| labelLine : { |
| show : false |
| } |
| } |
| }; |
| var labelFromatter = { |
| normal : { |
| label : { |
| formatter : function (params){ |
| return 100 - params.value + '%' |
| }, |
| textStyle: { |
| baseline : 'top' |
| } |
| } |
| }, |
| } |
| var labelBottom = { |
| normal : { |
| color: '#ccc', |
| label : { |
| show : true, |
| position : 'center' |
| }, |
| labelLine : { |
| show : false |
| } |
| } |
| }; |
| var radius = [40, 55]; |
| chart.setOption({ |
| legend: { |
| left: 'center', |
| top: 'center', |
| data:[ |
| 'GoogleMaps','Facebook','Youtube','Google+','Weixin', |
| 'Twitter', 'Skype', 'Messenger', 'Whatsapp', 'Instagram' |
| ] |
| }, |
| title: { |
| text: 'The App World', |
| subtext: 'from global web index', |
| x: 'center' |
| }, |
| toolbox: { |
| show : true, |
| feature : { |
| dataView : {show: true, readOnly: false}, |
| magicType : { |
| show: true, |
| type: ['pie', 'funnel'], |
| option: { |
| funnel: { |
| width: '20%', |
| height: '30%', |
| itemStyle : { |
| normal : { |
| label : { |
| formatter : function (params){ |
| return 'other\n' + params.value + '%\n' |
| }, |
| textStyle: { |
| baseline : 'middle' |
| } |
| } |
| }, |
| } |
| } |
| } |
| }, |
| restore : {show: true}, |
| saveAsImage : {show: true} |
| } |
| }, |
| series : [ |
| { |
| type : 'pie', |
| center : ['10%', '30%'], |
| radius : radius, |
| itemStyle : labelFromatter, |
| data : [ |
| {name:'other', value:46, itemStyle : labelBottom}, |
| {name:'GoogleMaps', value:54,itemStyle : labelTop} |
| ] |
| }, |
| { |
| type : 'pie', |
| center : ['30%', '30%'], |
| radius : radius, |
| itemStyle : labelFromatter, |
| data : [ |
| {name:'other', value:56, itemStyle : labelBottom}, |
| {name:'Facebook', value:44,itemStyle : labelTop} |
| ] |
| }, |
| { |
| type : 'pie', |
| center : ['50%', '30%'], |
| radius : radius, |
| itemStyle : labelFromatter, |
| data : [ |
| {name:'other', value:65, itemStyle : labelBottom}, |
| {name:'Youtube', value:35,itemStyle : labelTop} |
| ] |
| }, |
| { |
| type : 'pie', |
| center : ['70%', '30%'], |
| radius : radius, |
| itemStyle : labelFromatter, |
| data : [ |
| {name:'other', value:70, itemStyle : labelBottom}, |
| {name:'Google+', value:30,itemStyle : labelTop} |
| ] |
| }, |
| { |
| type : 'pie', |
| center : ['90%', '30%'], |
| radius : radius, |
| itemStyle : labelFromatter, |
| data : [ |
| {name:'other', value:73, itemStyle : labelBottom}, |
| {name:'Weixin', value:27,itemStyle : labelTop} |
| ] |
| }, |
| { |
| type : 'pie', |
| center : ['10%', '70%'], |
| radius : radius, |
| itemStyle : labelFromatter, |
| data : [ |
| {name:'other', value:78, itemStyle : labelBottom}, |
| {name:'Twitter', value:22,itemStyle : labelTop} |
| ] |
| }, |
| { |
| type : 'pie', |
| center : ['30%', '70%'], |
| radius : radius, |
| itemStyle : labelFromatter, |
| data : [ |
| {name:'other', value:78, itemStyle : labelBottom}, |
| {name:'Skype', value:22,itemStyle : labelTop} |
| ] |
| }, |
| { |
| type : 'pie', |
| center : ['50%', '70%'], |
| radius : radius, |
| itemStyle : labelFromatter, |
| data : [ |
| {name:'other', value:78, itemStyle : labelBottom}, |
| {name:'Messenger', value:22,itemStyle : labelTop} |
| ] |
| }, |
| { |
| type : 'pie', |
| center : ['70%', '70%'], |
| radius : radius, |
| itemStyle : labelFromatter, |
| data : [ |
| {name:'other', value:83, itemStyle : labelBottom}, |
| {name:'Whatsapp', value:17,itemStyle : labelTop} |
| ] |
| }, |
| { |
| type : 'pie', |
| center : ['90%', '70%'], |
| radius : radius, |
| itemStyle : labelFromatter, |
| data : [ |
| {name:'other', value:89, itemStyle : labelBottom}, |
| {name:'Instagram', value:11,itemStyle : labelTop} |
| ] |
| } |
| ] |
| }); |
| }) |
| |
| </script> |
| </body> |
| </html> |