1

我很想知道是否可以在高图中将最后一个值串联到 yAxis。

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

谢谢!

4

5 回答 5

6

大概有几种方法。在此示例中可以看到我将使用的一个:

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

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

这利用了仅对最后一个数据点启用的数据标签。

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

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

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

于 2013-04-17T17:15:30.897 回答
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]];
} 
于 2013-04-18T10:39:37.200 回答
2

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

这是一个示例:(您的图表与变量“yourChart”相关联)

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

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

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

var lowestValue = yourChart.xAxis[1].getExtremes().dataMin;
于 2013-10-29T18:11:28.093 回答
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;
                    }
                }
            }
        }
     }
于 2014-11-30T21:20:43.007 回答
0

我们可以为此使用格式化程序

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

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

在我放的例子中

dataLabels: { enabled: true }

以便执行格式化程序功能

我希望这对你有用

于 2013-04-18T06:49:34.527 回答