【问题标题】:Doing a for loop inside the Highcharts API在 Highcharts API 中执行 for 循环
【发布时间】:2013-07-10 14:53:47
【问题描述】:

我的页面上有一个 Highcharts 折线图,我目前正在开发一种通过单击或双击链接从图表中动态添加和删除系列的方法。

所以我的问题是因为我不知道任何时候要选择多少个系列,我不能硬编码它们。所以我想知道是否可以在里面做一个 for 循环Highcharts API 代码?像这样:

for (var i = 0; i < numberOfSeries; i++) {
                series: [{
                    name: i,
                    data: JSON.parse("[" + arraysOfData[i] + "]"),
                    marker: {
                        enabled: true,
                        symbol: 'circle',
                        radius: 1
                    }
                }]
}

我似乎无法让它工作,但我不确定是因为我做错了什么还是因为 API 不允许这样做。有人知道吗?

【问题讨论】:

  • 我通常在对象之外进行循环...将其分配给一个变量,然后将变量放入 series:[] 对象中。但我不确定你想要做的事情是否会这样。因为你想要多个系列???不仅仅是可变数据图?
  • 这可能对您有帮助,也可能没有帮助....stackoverflow.com/questions/14741912/…
  • 是的,我已经按照你说的做了。我在变量中拥有该系列的所有数据。现在我需要根据变量的数量放入 Highcharts 代码。

标签: javascript for-loop highcharts


【解决方案1】:

您总是希望使用某些 API 方法在图表对象之外处理数据。在容器中渲染一个空白图表(或隐藏),然后您可以使用 Chart 方法执行以下操作:

$('#button').click(function() {
    var chart = $('#container').highcharts();
    for (var i = 0; i < numberOfSeries; i++) {
        chart.addSeries({
            name: i,
            data: JSON.parse("[" + arraysOfData[i] + "]"),
            marker: {
                    enabled: true,
                    symbol: 'circle',
                    radius: 1
                    }
        });
    }
});

来源:http://api.highcharts.com/highcharts#Chart.addSeries()

对于删除系列:首先,在图表对象中找到系列,然后使用 remove() 方法。 消息来源:http://api.highcharts.com/highcharts#Series.remove()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-26
    • 2013-02-12
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-27
    • 1970-01-01
    相关资源
    最近更新 更多