根据固定柱形图(highcharts)中的数据,为什么难以动态设置点填充和放置?

时间:2015-06-03 16:28:37

标签: javascript jquery css charts highcharts

所以,我是高等仪表的新手,我陷入困境。我在Highcharts中遇到了两张图表。以下链接中的图表

'http://jsfiddle.net/v5618cwk/'

此处,点间隔是使用公式 24 * 3600 * 1000'动态添加的,因此当数据增加时,它会动态创建点间隔。然后我遇到了固定的柱形图。

' http://jsfiddle.net/cf9xe3f0/'

我尝试了很多,但是当数据增加时我无法动态创建填充和放置。

我不知道为什么它很难,这是一项具有挑战性的任务。

帮助我解决这个案例。感谢

1 个答案:

答案 0 :(得分:1)

因为我不知道你的新系列会是什么样的,这是一种通用的方法。您需要添加系列并更改pointPlacement。要执行此操作,请先将pointPlacement更改为适当的值并添加新系列。我是通过点击按钮完成此操作的,但总体思路适用于任何方法:

$('#button').click(function () {
    var chart = $('#container').highcharts();

    for (i = 0; i < chart.series.length; i++) {
        if (chart.series[i].options.yAxis === 0) {
            chart.series[i].update({
                //pointPadding: 0.4,
                pointPlacement: -0.4
            });
        } else {
            chart.series[i].update({
                //pointPadding: 0.4,
                pointPlacement: 0.4
            });
        }
    }

    chart.addSeries({
        name: 'A New Series',
        color: 'green',
        data: [300, 150, 350],
        tooltip: {
            valuePrefix: '$',
            valueSuffix: ' M'
        },
        pointPadding: 0.4,
        pointPlacement: 0.1,
        yAxis: 1
    });
});

要理解的关键事项是series.update()chart.addSeries()。您可以添加该系列,然后同时执行全局更新。根据您拥有的新系列数量,您可能会达到一个上限,无论您做什么,它都看起来不太好。

直播demo