| 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">// originalvar 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>
 |