Highcharts在标签上显示实时值

Highcharts在标签上显示实时值,highcharts,Highcharts,我按照以下指南创建实时图表: 它捕获值并每“3”秒更新一次图表。很好用 现在,是否可以在标签上显示实时值?比如: 这应该在每次轮询时更改。。。。。或者至少在其他图表位置显示最后生成的值 这是我生成图表的HTML/JS代码: <script type="text/javascript"> var chart; // global function requestData() { $.ajax({ url: 'live

我按照以下指南创建实时图表:

它捕获值并每“3”秒更新一次图表。很好用

现在,是否可以在标签上显示实时值?比如:

这应该在每次轮询时更改。。。。。或者至少在其他图表位置显示最后生成的值

这是我生成图表的HTML/JS代码:

    <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调用成功将数据绑定到系列之后,您可以使用最后添加的数据点的值重命名图例。。。如前一张图片所示,问题在于每次生成新值时,标签都会根据值的位数进行移动。这是因为你在图片上看到了什么,所以标签覆盖了它自己(现在我解决了将图例垂直放置的问题。。。