如何获得最后一个值yAxis highcharts

时间:2013-04-17 15:59:11

标签: highcharts

我很想知道是否有可能将最后一个值串联到yAxis的高级图表中。

它应该是简单的标签,其最后一个点值显示在图表的右侧,当我们向图表添加点时,它会显示出来。

谢谢!

5 个答案:

答案 0 :(得分:4)

可能有几种方法。 我将使用的一个可以在这个例子中看到:

http://jsfiddle.net/jlbriggs/zXLZA/

data: [7,12,16,32,{y:64,dataLabels:{enabled:true}}]

这使用了数据标签,只对最后一个数据点启用。

这样做的缺点是您需要在数据中指定。不难做到,但可能不符合您的需求。

另一种方法是使用第二个y轴和tickPositions属性:

http://jsfiddle.net/jlbriggs/zXLZA/4/

答案 1 :(得分:4)

另一种可能的解决方案是使用tickPositioner和第二个yAxis。在使用动态数据的情况下,所有内容都将自行计算,请参阅:http://jsfiddle.net/3c4tU/

tickPositioner: function(min,max){
    var data = this.chart.yAxis[0].series[0].processedYData;
    //last point
    return [data[data.length-1]];
} 

答案 2 :(得分:2)

要获得任何轴和系列中的最高值,请使用函数getExtreme()。它会找到你的极端值(最高或最低,取决于你背后的论点)。选择之前的图表,轴和系列。

这是一个例子:(你的图表与变量'yourChart'相关联)

var highestValue = yourChart.yAxis[0].getExtremes().dataMax;

它将返回第一个Y轴相关系列的最高值。

虽然下面的内容将返回第二个X轴相关系列的最低值:

var lowestValue = yourChart.xAxis[1].getExtremes().dataMin;

答案 3 :(得分:1)

我推荐的解决方案:

    plotOptions: {
        areaspline: {
            fillOpacity: 0.2,
            dataLabels: {
                enabled: true,
                borderRadius: 5,
              backgroundColor: 'rgba(252, 255, 197, 0.7)',
              borderWidth: 1,
              borderColor: '#AAA',
              y: -6,
                formatter: function() {
                    if (this.x == this.series.data[this.series.data.length-1].x) {
                        return this.series.name + ': '+this.y;
                    } else {
                        return null;
                    }
                }
            }
        }
     }

答案 4 :(得分:0)

我们可以为此

使用格式化程序

这是显示最后一个值的示例 http://jsfiddle.net/kgNy4/1/

这是显示最大值的示例 http://jsfiddle.net/kgNy4/

在我放置的例子中

dataLabels: { enabled: true }

以便执行格式化程序功能

我希望这对你有用