[英]Highcharts - how to properly update series[0].data and yAxis title of a VUMeter?
我正在Highcharts中准备一个VU Meter
图来显示一组值。 通过选择<SELECT>
的<OPTION>
,一次显示一个这些值。 我设法理解如何更改图表的title
以匹配<OPTION>
的选定label
,但不幸的是我是菜鸟,我无法正确更新series
的data
。
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
的title
? 这类似于更新图形标题的命令,但它当然不起作用。 chart.series[0].setData(...)
和chart.series[0].update(...)
都只使指针消失以保持静止。 data
格式不正确,也许? 你能指出我的错误吗? 提前感谢您提供的任何建议!
感谢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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.