function lists(list) {
alert("list  ------------------------------- >"+list);
Ext.getCmp('chartCmp').getStore().loadData(list);//通过json从后台拿的数据
}
var deviceSatateCount =  Ext.create('Ext.data.JsonStore', {
     fields: ['signalStateHigh', 'signalStatelow'],
    data: [
     {signalStatelow:"信号强",signalStatelow:20},
     {signalStatelow:"信号弱",signalStatelow:60},
     {signalStatelow:"没信号",signalStatelow:30}
    ]
});

var pie = Ext.create('Ext.Window', {
        width: 800,
        height: 600,
        title: '饼图示例',
        layout: 'fit',
        closeAction:'hide',
        tbar: [{
            text: '数据变换',
            handler: function() {
                deviceSatateCount.loadData([
     {signalStatelow:"信号强",signalStatelow:40},
     {signalStatelow:"信号弱",signalStatelow:20},
     {signalStatelow:"没信号",signalStatelow:40}
    ]);
            }
        }, {
            enableToggle: true,
            pressed: false,
            text: 'Donut(设置内圆)',
            toggleHandler: function(btn, pressed) {
                var chart = Ext.getCmp('chartCmp');
                //设置图标序列的模式
                chart.series.first().donut = pressed ? 35 : false;//内弧度
                chart.refresh();
            }
        }],
        items: {
            xtype: 'chart',
            id: 'chartCmp',
            animate: true,
            store: deviceSatateCount,
            shadow: true,
            legend: {
                position: 'right'
            },
            insetPadding: 60,
            theme: 'Base:gradients',
            series: [{
                type: 'pie',
                field: 'signalStatelow',
                showInLegend: true,
                donut: false,//内环状线圈
                tips: {//提示
                  trackMouse: true,
                  width: 140,
                  height: 28,
                  renderer: function(storeItem, item) {
                    var total = 0;
                    deviceSatateCount.each(function(rec) {
                        total += rec.get('signalStatelow');
                    });
                    this.setTitle(storeItem.get('signalStatelow') + ': ' 
                     + Math.round(storeItem.get('signalStatelow')/total*100)
                     + '%');
                  }
                },
                highlight: {//高亮
                  segment: {
                    margin: 20
                  }
                },
                label: {
                    field: 'signalStateHigh',
                    display: 'rotate',
                    contrast: true,
                    font: '18px Arial'
                }
            }]
        }
    });