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

Ste*_*lia 7 javascript jquery highcharts

我正在准备VU MeterHighcharts中的图形来显示一组值.这些值显示一次一个,通过选择<OPTION>的一个<SELECT>.我设法理解如何更改title图表以匹配所选label<OPTION>,但不幸的是我是一个菜鸟,我无法正确更新dataseries.

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(); 
});
Run Code Online (Sandbox Code Playgroud)

我的问题如下:

  1. 在变化yAxistitle支持?这类似于更新图形标题的命令,但它当然不起作用.
  2. 我该如何更改数据?无论chart.series[0].setData(...)chart.series[0].update(...)只由针状消失,以保持静止.data格式不正确,也许?你能指出我的错误吗?
  3. 这是不必要的,对(如果以上工作)?

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


感谢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
    });
});
Run Code Online (Sandbox Code Playgroud)

Seb*_*han 13

  1. 是的,可以通过调用轴上的更新功能实现. http://api.highcharts.com/highcharts#Axis.update()

  2. 更新,适用于点,所以它应该是chart.series [0] .data [0] .update(20);