Javascript Highcharts/Highstock动态添加/删除多个系列
我是一名Java/PHP程序员,不合理地无法掌握Javascript,因此我需要一只简单的手 请看下面的图表: 这显示了3个系列,它们都是预定义的。我用我自己的数据设置了等效项 我实际拥有的是150个系列的数据,我希望用户能够在不刷新页面的情况下选择要显示的数据。我知道我需要以某种方式使用Chart.addSeries(),我已经看过了演示,它通过单击按钮添加了一个系列: 问题是,这个按钮在网页和JS中都是硬编码的:Javascript Highcharts/Highstock动态添加/删除多个系列,javascript,dynamic,highcharts,highstock,Javascript,Dynamic,Highcharts,Highstock,我是一名Java/PHP程序员,不合理地无法掌握Javascript,因此我需要一只简单的手 请看下面的图表: 这显示了3个系列,它们都是预定义的。我用我自己的数据设置了等效项 我实际拥有的是150个系列的数据,我希望用户能够在不刷新页面的情况下选择要显示的数据。我知道我需要以某种方式使用Chart.addSeries(),我已经看过了演示,它通过单击按钮添加了一个系列: 问题是,这个按钮在网页和JS中都是硬编码的: <button id="button">Add series<
<button id="button">Add series</button>
<script>
$('#button').click(function() {
var chart = $('#container').highcharts();
chart.addSeries({
name: 'ADBE',
data: ADBE
});
$(this).attr('disabled', true);
});
</script>
添加系列
$(“#按钮”)。单击(函数(){
var chart=$(“#容器”).highcharts();
chart.addSeries({
名称:“ADBE”,
资料来源:ADBE
});
$(this.attr('disabled',true);
});
我不喜欢150个按钮,但我当然不希望每个按钮都有唯一的功能。有人能改写一个我可以吃人的简短例子吗?我的JS真的太初级了
也许复选框可以,但实际上任何类型的切换都可以。是否可以从图表中删除系列(单击图例除外)
有人能提供一些将150个系列的列表与图表本身联系起来的技巧吗
每个系列都必须通过JSON单独加载
或者,我应该加载所有150个系列并禁用其中149个,允许用户通过图例本身进行切换吗?我使用复选框为您提供了一个解决方案。目标复选框是带有“choice”类的复选框。“foreach”函数通过所有复选框。该名称将成为当前选择的“值”,由于您没有为数据提供任何上下文,因此当前正在手动输入数据。你可以玩它,让它为你工作
$('#button').click(function() {
var buttons = $('.choice');
var chart = $('#container').highcharts();
buttons.each(function(){
var choice = this.value;
chart.addSeries({
name: choice,
data: ADBE
});
});
});
这无疑是朝着正确方向迈出的一步,它将允许用户选择多个系列;谢谢不幸的是,这是一次性的;需要重新加载页面才能更改任何内容。这可以改进吗?好的,你离我很近,我真的很感谢你的时间,但还有最后一个问题:所有检查点都显示相同的数据。我们有数据存在,只需要以某种方式切换到它。堆栈溢出与人们为您提供解决方案无关。这是关于帮助你找到解决方案。请记住这一点。我不知道应用程序上下文,也不会尝试为您设计最佳解决方案。那是你的工作。然而,这里是修改后的fiddle,前提是所有“系列”都被引用为全局变量,与您现在引用它们的方式相同。