我很想知道是否可以在高图中将最后一个值串联到 yAxis。
它应该是一个简单的标签,最后一个点值显示在图表的右侧,当我们向图表添加点时,它会动态地改变。
谢谢!
大概有几种方法。在此示例中可以看到我将使用的一个:
http://jsfiddle.net/jlbriggs/zXLZA/
data: [7,12,16,32,{y:64,dataLabels:{enabled:true}}]
这利用了仅对最后一个数据点启用的数据标签。
这样做的缺点是您需要在数据中指定它。不难做到,但可能不符合您的需求。
另一种方法是使用第二个 y 轴和 tickPositions 属性:
另一种可能的解决方案是使用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]];
}
要获得任何轴和系列中的最大值,请使用函数getExtreme()。它会为您找到极值(最高或最低取决于您提出的论点)。选择之前的图表、轴和系列。
这是一个示例:(您的图表与变量“yourChart”相关联)
var highestValue = yourChart.yAxis[0].getExtremes().dataMax;
它将返回第一个 Y 轴关联系列的最大值。
虽然下面将返回第二个 X 轴相关系列中的最低值:
var lowestValue = yourChart.xAxis[1].getExtremes().dataMin;
我推荐的解决方案:
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;
}
}
}
}
}
我们可以为此使用格式化程序
这是显示最后一个值的示例 http://jsfiddle.net/kgNy4/1/
这是一个显示最大值的示例 http://jsfiddle.net/kgNy4/
在我放的例子中
dataLabels: {
enabled: true
}
以便执行格式化程序功能
我希望这对你有用