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

标签 javascript jquery css charts highcharts

所以,我是 highcharts 的新手,我陷入了困境。我在 Highcharts 中看到了两个图表。以下链接中的图表

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

这里的点区间是通过公式'24 * 3600 * 1000'动态添加的,所以当数据增加时,它会动态创建点区间。然后我遇到了固定柱形图。

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

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

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

请帮我处理这个案例。谢谢

最佳答案

因为我不知道你的新系列会是什么样子,这里是一个通用的方法。您需要添加系列并更改 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 .

关于javascript - 为什么很难根据固定柱形图(highcharts)中的数据动态设置点填充和放置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30625729/

相关文章:

javascript - 从 web worker 发布数据后的引用

jquery - 通过 AJAX 发送的列表并与 Django 中看似相同的列表进行比较返回 false

javascript - 在使用 Tailwind CSS 时从 `ListBox` 设置 `@headlessui/react` 上的最大内容以获取选项的最大宽度?

javascript - jQuery 仅显示具有单选按钮中的多个匹配类的 div

javascript - 如何根据特定字符进行自动换行?

javascript - 如何固定标题栏

html - 响应元素无法正常工作

javascript - 如何处理iOS拍摄倒置照片

javascript - 如何添加退房日期?

javascript - PHP 中的 onclick JavaScript