我很想知道是否有可能将最后一个值串联到yAxis的高级图表中。
它应该是简单的标签,其最后一个点值显示在图表的右侧,当我们向图表添加点时,它会显示出来。
谢谢!
答案 0 :(得分:4)
可能有几种方法。 我将使用的一个可以在这个例子中看到:
http://jsfiddle.net/jlbriggs/zXLZA/
data: [7,12,16,32,{y:64,dataLabels:{enabled:true}}]
这使用了数据标签,只对最后一个数据点启用。
这样做的缺点是您需要在数据中指定。不难做到,但可能不符合您的需求。
另一种方法是使用第二个y轴和tickPositions属性:
答案 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
}
以便执行格式化程序功能
我希望这对你有用