OpenFlashChart 中前台控制x 轴代码【自用】

步骤一:
在openFlashChart 中对应的dataSet中的onDateLoad事件中
 
var chart=this.id('chart');
$dynamicRefreshChart(self.getData(),chart);
 
步骤二:
在该VIEW中写前台事件
 
//el dataprovier 返回的数据
/chart openFlahChart
$dynamicRefreshChart = function(el, chart){

    var x = chart.get('xAxis');
    var y = chart.get('yAxis')
    var max = 10;
    var min = 0;
    var steps = 1;
    var label = "";
    var first = el.getFirst();
    if (first) {
    
        //设定x轴
        el.each(function(entity){
            label += entity.get('state') + ",";
            
        });
        if (label.length > 0) {
            label = label.substring(0, label.length - 1);
        }
        x.set('labelsShortcut', label);
        
        //设定y轴
        max = first.get('price');
        var div = max / 10;
        if (div < 1) {
            max = 10;
            steps = 1;
        }
        else 
            if (div < 10) {
                max = 100;
                steps = 10;
                
            }
            else {
                max = (div + 1) * 10;
                steps = (div + 1);
            }
        
        y.set('max', max);
        y.set('steps', steps);
        
    }
    else {
        x.set('labelsShortcut', label);
        y.set('max', max);
        y.set('steps', steps);
    }
    
};
 
 
动态创建Elements中的元素,以柱状图为例:

var arrayObj = new Array();
var object1 = {
 "$type": "ofc.Column",
 "bindingConfig": {
  "valueProperty": "newsCount"
 },
 "dataSet": view.getComponentReference("dataSetNewsChart")
};

var object2 = {
  "$type":"ofc.Column",
  "bindingConfig":{
   "valueProperty":"newsCount"
  },
  "dataSet":view.getComponentReference("dataSetNewsChart"),
  "color":"#FFFFFF"
};

var object3 = {
 "$type": "ofc.Column",
 "bindingConfig": {
  "valueProperty": "newsCount"
 },
 "dataSet": view.getComponentReference("dataSetNewsChart")
};

arrayObj.push(object1);
arrayObj.push(object2);
arrayObj.push(object3);

chart.set('elements',arrayObj);


你可能感兴趣的:(OpenFlashChart 中前台控制x 轴代码【自用】)