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