如何动态更新Gauge(HighCharts)中的范围?

时间:2013-11-02 13:40:34

标签: javascript highcharts

问题1

我想更改量表内的范围,即目前它被硬编码为0-200。但是,如果我的值超过200,如300,那么它应该自动将其范围更改为0-400。我怎样才能做到这一点?

目前为yAxis: {min: 0, max: 100}。有没有像yAxis: {min: 0%, max: 100%}

这样的东西

问题2

我想设置每小时左右在样条线更新上绘制的数据点的限制。我如何在Highcharts中做到这一点?我跟着这个link。例如。在图表中最多只能呈现20个点

我尝试了这个,但它一直在添加积分。

var series = chart.series[0],
shift = series.data.length > 20; // shift if the series is longer than 20
// But this keeps on adding the points. i want to limit it to 20.

// add the point
chart.series[0].addPoint(point, true, shift);

如何添加限制?

1 个答案:

答案 0 :(得分:4)

问题1: 最小值/最大值需要是数字,而不是百分比值。如果您想动态修改范围,可以使用update函数,在轴上调用。

参见示例:http://jsfiddle.net/jgRTz/ http://api.highcharts.com/highcharts#Axis.update()

问题2: 在了解你的woudl liek设置限制(添加点而不是移位图表),但在这之后这样做:

http://jsfiddle.net/qzZxh/

 setInterval(function() {
                        var x = (new Date()).getTime(), // current time
                            y = Math.random();

                        if(series.data.length > MAXPOINTS)
                            series.addPoint([x, y], true, true);
                        else
                            series.addPoint([x, y], true, false);

                    }, 1000);