微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – Highcharts – 如何正确更新VUMeter的系列[0] .data和yAxis标题?

我正在Highcharts中准备一个VU Meter图来显示一组值.
通过选择< OPTION>,可以一次显示这些值.一个< SELECT>.
我设法了解如何更改图表的标题以匹配< OPTION>的所选标签,但不幸的是我是菜鸟,我无法正确更新系列的数据.

最小的工作示例在jsFiddle上可用.特别是,当< SELECT>时,会触发以下函数.改变了:

$('#receptorsList0').change(function() {
    var selectedOption = $("#receptorsList0 option:selected");
    var selectedValue = selectedOption.val();
    var selectedText = selectedOption.text();
    alert("i: "+selectedOption+",val: "+selectedValue+",text: "+selectedText);

    // 1. Possible?
    chart.yAxis.setTitle({ text: table[selectedText] + '<br/><span style="font-size:8px">' + selectedText + '</span>' }); 
    // 2. Doesn't work,suggestions? Same with chart.series[0].update(...)
    chart.series[0].setData([selectedValue],true); 
    chart.setTitle({ text: selectedText });
    // 3. Unneeded,right?
    chart.redraw(); 
});

我的问题如下:

>是否支持更改yAxis的标题?这类似于更新图形标题的命令,但它当然不起作用.
>我该如何更改数据? chart.series [0] .setData(…)和chart.series [0] .update(…)都只使指针消失以保持静止.数据格式不正确,也许?你能指出我的错误吗?
>这是不必要的,对(如果以上工作)?

提前感谢您提供的任何建议!

感谢Sebastian Bochan指出我正确的方向,我设法解决了上述问题!请在下面找到上述功能的最终版本:

$('#receptorsList0').change(function () {
    var selectedOption = $("#receptorsList0 option:selected");
    var selectedValue = parseFloat(selectedOption.val());
    var selectedText = selectedOption.text();

    chart.yAxis[0].update({
        title: {
            text : table[selectedText] + '<br/><span style="font-size:8px">'+selectedText+'</span>',y : -40
        }
    });
    chart.series[0].data[0].update(selectedValue);
    chart.setTitle({
        text: selectedText
    });
});

解决方法

>是的,可以通过调用轴上的更新功能实现.
http://api.highcharts.com/highcharts#Axis.update() >更新,在点上工作,所以它应该是chart.series [0] .data [0] .update(20);

原文地址:https://www.jb51.cc/js/155427.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐