更新 - >这是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;
这是我冻结的。我想发送由我的角色名称(数组冠军)绑定的我的系列(数组类别)的数据和名称。但我不知道哪种方法是正确的。 如果有人有一些想法和一些我可以遵循的领导,那将是伟大的。 感谢
答案 0 :(得分:0)
如果要添加删除它们,请使用:
chart.addSeries(series_object)
chart.series[index_of_series_to_remove].remove()
- 请注意,如果删除index = 0的系列,那么index = 1的系列将会占据它的位置。您可以添加到每个系列id
,然后使用chart.get(id)
来获取要移除的系列,而不是使用索引。或许您只想隐藏图表中的系列?然后简单使用:
第二种解决方案更容易。
注意:要隐藏/显示/添加/删除系列,您需要在每个复选框和回调更新图表中添加事件。