我在一个学校项目中工作,我从一个php文件中获取数据以显示在仪表中。 我使用这个javascript代码每秒更新de chart:
function requestData() {
$.getJSON('values.php', function(data) {
var new_value = data;
var point = $('#ta').highcharts().series[0].points[0];
point.update(new_value);
setTimeout(requestData, 500)
}
)
}
使用此代码,我能够更新图表,问题是,我需要在图表的另一部分显示数值。这是我尝试的:
yAxis: {
title: {
text: '<div id="tav">'+new_value+'V</div>',
useHTML: true,
y: 80
}
当我把“new_value”图表停止工作时我什么也看不见。如果从图表的这一部分留下“new_value”,它就可以完美地运行。
有人能帮助我吗? 感谢
答案 0 :(得分:0)
问题是new_value
是本地定义的。您可以将变量定义为对象的属性:
var obj = {};
function requestData() {
$.getJSON('values.php', function(data) {
obj.new_value = data;
var point = $('#ta').highcharts().series[0].points[0];
point.update(new_value);
setTimeout(requestData, 500)
}
)
}
和
yAxis: {
title: {
text: '<div id="tav">'+obj.new_value+'V</div>',
useHTML: true,
y: 80
}
答案 1 :(得分:0)
要更新y轴标题,您必须使用以下代码:
$('#container').highcharts().yAxis[0].update({
title:{
text:"My text"
}
});
我创建了一个如何在点击按钮时动态更新y轴标题的动态演示: DEMO
JS代码部分,用于在按钮单击时动态更新图表标题:
var chart = $('#container').highcharts();
$('#my_btn').click(function(){
//alert('hey');
chart.yAxis[0].update({
title:{
text:"My text"
}
});
alert('Y-axis title changed to "My text" !');
});
答案 2 :(得分:0)
确实使用Axis.setTitle()
方法,请参阅:
function requestData() {
$.getJSON('values.php', function (data) {
var new_value = data;
var chart = $('#ta').highcharts()
var point = chart.series[0].points[0];
var yAxis = chart.yAxis[0];
yAxis.setTitle({text: new_value });
point.update(new_value);
setTimeout(requestData, 500);
})
}