123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="ECharts">
- <meta name="author" content="kener.linfeng@gmail.com">
- <title>ECharts · Example</title>
- <link rel="shortcut icon" href="../asset/ico/favicon.png">
- <link href="../asset/css/font-awesome.min.css" rel="stylesheet">
- <link href="../asset/css/bootstrap.css" rel="stylesheet">
- <link href="../asset/css/carousel.css" rel="stylesheet">
- <link href="../asset/css/echartsHome.css" rel="stylesheet">
- <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
- <!--[if lt IE 9]>
- <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
- <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
- <![endif]-->
- <script src="./www/js/echarts.js"></script>
- <script src="../asset/js/codemirror.js"></script>
- <script src="../asset/js/javascript.js"></script>
- <link href="../asset/css/codemirror.css" rel="stylesheet">
- <link href="../asset/css/monokai.css" rel="stylesheet">
- </head>
- <body>
- <!-- Fixed navbar -->
- <div class="navbar navbar-default navbar-fixed-top" role="navigation" id="head"></div>
- <div class="container-fluid">
- <div class="row-fluid example">
- <div id="sidebar-code" class="col-md-4">
- <div class="well sidebar-nav">
- <div class="nav-header"><a href="#" onclick="autoResize()" class="glyphicon glyphicon-resize-full" id ="icon-resize" ></a>option</div>
- <textarea id="code" name="code">
- // original
- var data = [30, 20, 54, 21, 90, 30, 10];
- var gap = 0;
- var total = 0;
- var maxIndex;
- var dataArray = (function(){
- var max = Math.max.apply(Math, data);
- var min = Math.min.apply(Math, data);
- gap = Math.round((max - min));
- var nd = [{value:data[0] + gap,symbol:'none'}];
- for (var i = 0, l = data.length; i < l; i++) {
- if (data[i] == max) {
- maxIndex = i;
- }
- total += data[i];
- nd.push(data[i] + gap);
- }
- nd.push({value:data[data.length - 1] + gap,symbol:'none'});
- return nd;
- })();
- option = {
- backgroundColor:'#fff',
- title : {
- text: '某楼盘销售情况',
- subtext: '纯属虚构 折线饼图交互混搭实例',
- x: 'center'
- },
- legend: {
- data:['销量', '占比'],
- x: 'left',
- orient: 'vertical',
- selectedMode: false
- },
- tooltip : {
- trigger: 'item',
- formatter: function(params){
- if (params.seriesName == '占比') {
- return '总量 : ' + total + '<br/>'
- + params.name + ' : ' + params.value + '<br/>'
- + '占比 : ' + params.percent + '%';
- }
- else if (params.name != '占位'){
- update(params);
- return params.seriesName + '<br/>'
- + params.name + ' : ' + params.value;
- }
- },
- axisPointer: {
- type: 'none'
- }
- },
- toolbox: {
- show : true,
- feature : {
- saveAsImage : {show: true}
- }
- },
- grid:{
- backgroundColor:'#ccc',
- borderWidth:0
- },
- xAxis : [
- {
- type : 'category',
- boundaryGap : false,
- show : false,
- data : ['占位','周一','周二','周三','周四','周五','周六','周日','占位']
- }
- ],
- yAxis : [
- {
- type : 'value',
- boundaryGap:[0,0.5],
- show : false
- }
- ],
- animation: false,
- series : [
- {
- name:'销量',
- type:'line',
- symbol: 'emptyCircle',
- symbolSize: 6,
- showAllSymbol:true,
- smooth:true,
- itemStyle: {normal: {areaStyle: {type: 'default'}}},
- data: dataArray
- },
- {
- name:'遮罩',
- type:'pie',
- clickable:false,
- tooltip: {show:false},
- radius : [100, 180],
- itemStyle: {
- normal: {color: '#fff',label:{show:false},labelLine:{show:false}},
- emphasis: {color:'rgba(0,0,0,0)'}
- },
- data:[
- {value:100, name:'直接访问'}
- ]
- },
- {
- name:'占比',
- type:'pie',
- clickable: false,
- clockWise: true,
- radius : [110, 125],
- data:[
- {
- itemStyle: {normal: {
- label:{
- position:'inside',
- formatter: '\n{b} : {c}\n\n( {d}% )',
- textStyle: {
- fontSize: 15,
- baseline: 'top',
- color: '#1e90ff'
- }
- },
- labelLine:{show:false}
- }}
- },
- {
- name:'其他',
- tooltip: {show:false},
- itemStyle: {normal: {color: '#fff',label:{show:false},labelLine:{show:false}}}
- }
- ]
- }
- ]
- };
- function changePieSeries(params) {
- var curData = params.value - gap;
- option.series[2].startAngle = -90 + (curData / total * 360) / 2;
- option.series[2].data[0].name = params.name;
- option.series[2].data[0].value = curData;
- option.series[2].data[1].value = total - curData;
-
- for (var i = 1, l = option.series[0].data.length - 1; i < l; i++) {
- if (option.series[0].data[i].symbol) {
- option.series[0].data[i].symbol = 'emptyCircle';
- option.series[0].data[i].symbolSize = 6;
- }
- }
- option.series[0].data[params.dataIndex] = {
- name : params.name,
- value : params.value,
- symbol: 'emptyDiamond',
- symbolSize: 10
- }
- }
- function update(params){
- changePieSeries(params);
- option.animation = true;
- myChart.setOption(option);
- }
- changePieSeries({
- name : option.xAxis[0].data[maxIndex + 1],
- value : option.series[0].data[maxIndex + 1],
- dataIndex: maxIndex + 1
- });
- </textarea>
- </div><!--/.well -->
- </div><!--/span-->
- <div id="graphic" class="col-md-8">
- <div id="main" class="main" style="width:400px;"></div>
- <div>
- <button type="button" class="btn btn-sm btn-success" onclick="refresh(true)">刷 新</button>
- <span class="text-primary">切换主题</span>
- <select id="theme-select"></select>
- <span id='wrong-message' style="color:red"></span>
- </div>
- </div><!--/span-->
- </div><!--/row-->
-
- </div><!--/.fluid-container-->
- <footer id="footer"></footer>
- <!-- Le javascript
- ================================================== -->
- <!-- Placed at the end of the document so the pages load faster -->
- <script src="../asset/js/jquery.min.js"></script>
- <script type="text/javascript" src="../asset/js/echartsHome.js"></script>
- <script src="../asset/js/bootstrap.min.js"></script>
- <script src="../asset/js/echartsExample.js"></script>
- </body>
- </html>
|