Highcharts在标签上显示实时值
我按照以下指南创建实时图表: 它捕获值并每“3”秒更新一次图表。很好用 现在,是否可以在标签上显示实时值?比如: 这应该在每次轮询时更改。。。。。或者至少在其他图表位置显示最后生成的值 这是我生成图表的HTML/JS代码:Highcharts在标签上显示实时值,highcharts,Highcharts,我按照以下指南创建实时图表: 它捕获值并每“3”秒更新一次图表。很好用 现在,是否可以在标签上显示实时值?比如: 这应该在每次轮询时更改。。。。。或者至少在其他图表位置显示最后生成的值 这是我生成图表的HTML/JS代码: <script type="text/javascript"> var chart; // global function requestData() { $.ajax({ url: 'live
<script type="text/javascript">
var chart; // global
function requestData() {
$.ajax({
url: 'live-server-data.php',
success: function(point) {
var series = chart.series[0],
shift = series.data.length > 30; // shift if the series is longer than 20
var series = chart.series[1],
shift = series.data.length > 30; // shift if the series is longer than 20
var series = chart.series[2],
shift = series.data.length > 30; // shift if the series is longer than 20
// add the point
chart.series[0].addPoint([point[0], point[1]], true, shift);
chart.series[1].addPoint([point[0], point[2]], true, shift);
chart.series[2].addPoint([point[0], point[3]], true, shift);
setTimeout(requestData, 3000);
},
cache: false
});
}
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
defaultSeriesType: 'spline',
events: {
load: requestData
}
},
title: {
text: 'Live data'
},
xAxis: {
type: 'datetime',
tickPixelInterval: 150,
maxZoom: 40 * 1000
},
yAxis: {
minPadding: 0.5,
maxPadding: 0.5,
showLastLabel: true,
title: {
text: '',
margin: 1
}
},
tooltip: {
formatter: function() {
return '<b>'+ this.series.name +'</b><br/>'+
Highcharts.dateFormat('%H:%M:%S', this.x) +'<br/>'+
'MDA: '+ this.y;
}
},
series: [{
name: 'Point1',
data: []
}, {
name: 'Point2',
data: []
}, {
name: 'Point3',
color: '#FF00FF',
data: []
}]
});
});
</script>
var图表;//全球的
函数requestData(){
$.ajax({
url:“live server data.php”,
成功:功能(点){
var系列=图表系列[0],
shift=series.data.length>30;//如果序列长度超过20,则shift
var系列=图表系列[1],
shift=series.data.length>30;//如果序列长度超过20,则shift
var系列=图表系列[2],
shift=series.data.length>30;//如果序列长度超过20,则shift
//补充一点
chart.series[0]。addPoint([point[0],point[1]],true,shift);
chart.series[1]。addPoint([point[0],point[2]],true,shift);
chart.series[2]。addPoint([point[0],point[3]],true,shift);
setTimeout(requestData,3000);
},
缓存:false
});
}
$(文档).ready(函数(){
图表=新的高点图表。图表({
图表:{
renderTo:'容器',
defaultSeriesType:“样条线”,
活动:{
加载:请求数据
}
},
标题:{
文本:“实时数据”
},
xAxis:{
键入:“日期时间”,
像素间隔:150,
最大缩放:40*1000
},
亚克斯:{
最小填充:0.5,
最大填充:0.5,
showLastLabel:true,
标题:{
文本:“”,
保证金:1
}
},
工具提示:{
格式化程序:函数(){
返回“+this.series.name+”
+
Highcharts.dateFormat('%H:%M:%S',this.x)+'
'+
'MDA:'+this.y;
}
},
系列:[{
名称:'Point1',
数据:[]
}, {
名称:'Point2',
数据:[]
}, {
名称:'Point3',
颜色:“#FF00FF”,
数据:[]
}]
});
});
以下是一个主题链接,主题是如何从highcharts论坛动态更改图例文本。[http://highslide.com/forum/viewtopic.php?f=9&t=18805&p=76061&hilit=change+系列+名称#p76061][1]
[1] :
希望有帮助 太棒了!我唯一的问题是:有没有办法刷新标签?谢谢在ajax调用成功将数据绑定到系列之后,您可以使用最后添加的数据点的值重命名图例。。。如前一张图片所示,问题在于每次生成新值时,标签都会根据值的位数进行移动。这是因为你在图片上看到了什么,所以标签覆盖了它自己(现在我解决了将图例垂直放置的问题。。。