使用highcharts添加和删除交叉数据

时间:2014-06-24 10:50:56

标签: javascript php json highcharts

更新 - >这是jsfiffle http://jsfiddle.net/Lx3Xq/

我的大脑在这里有点冻结。 我尝试从我的highcharts对象添加和删除不同类型的数据。我知道这项技术,但就在这里,我不知道如何跨越我的数据。 所以这是我的php文件带来了我的数据(用json)

$categories = array(
    'Health' => [380,442,472],
    'Mana' => [250,215,220],
    'Attack Damage' => [50,55,47],
    'Armor' => [15,18.5,22],
    'Attack Speed' => [0.67,0.63,0.64],
    'Magic Resist' => [30,30,30],
    'Movement Speed' => [330,330,335]
);
$champions = array('CharacterName1','CharacterName2','CharacterName3');
$graph_data = array('categories'=>$categories, 'champions'=>$champions);

echo json_encode($graph_data);
exit;

我创建了这样的图表

$.each(data.categories, function(key, value){                       
    var series = {};
    series.name = key;
    series.data = value;                        
    options.series.push(series);    
})

$.each(data.champions, function(key, value){                        
    var categories = [];
    options.xAxis.categories.push(value);
})

var chart = new Highcharts.Chart(options);

没有问题我有一个x轴,我的角色名称和系列的值名为"健康"," Mana"等等...在柱形图中。 事实是,我想通过复选框添加或删除我的一些字符数据。我创建了复选框

var mesRadio = document.getElementById('monForm');
var mesCheksBoxes = '';    
for (var i = 0; i < data.champions.length; i++) {                       
    mesCheksBoxes += '<label>'+data.champions[i]+'<input type="checkbox" class="choice" name="choice-'+i+'" value="'+data.champions[i]+'"></label>';
};                  
mesRadio.innerHTML = mesCheksBoxes;

这是我冻结的。我想发送由我的角色名称(数组冠军)绑定的我的系列(数组类别)的数据和名称。但我不知道哪种方法是正确的。 如果有人有一些想法和一些我可以遵循的领导,那将是伟大的。 感谢

1 个答案:

答案 0 :(得分:0)

如果要添加删除它们,请使用:

或许您只想隐藏图表中的系列?然后简单使用:

第二种解决方案更容易。

注意:要隐藏/显示/添加/删除系列,您需要在每个复选框和回调更新图表中添加事件。