以前にハイチャートで似たようなことをしなければなりませんでした。あるデータポイントから次のデータポイントへの実際の変化を取得したかったのです。
私がしていることは、現在のポイント (this.x) を見て、シリーズ配列内の位置を見つけることです。そこから、前のポイントのインデックス (インデックス = a - 1) を簡単に見つけて計算します。お役に立てれば :)
編集:
stockcharts API を調べて、その製品について考え出しました。
tooltip: {
formatter: function() {
var s = '<b>'+ Highcharts.dateFormat('%A, %b %e, %Y', this.x) +'</b><br>';
$.each(this.points, function(i, point) {
s += '<span style="font-weight: bold; font-size: 1.2em; color: ' + point.point.series.color + ';">' + point.point.series.name + '</span>:<span style="font-weight: bold; font-size: 1.2em;">' + point.y + '</span>' ;
s += '<span style="font-size: .8em;">';
var target = this.x;
index = 0;
for (var a = 0; a < point.series.points.length; a++) {
if (point.series.points[a].x == target)
{
index = a - 1;
}
}
var delta = 0;
var change = 0;
if (index >= 0)
{
delta = this.y - point.series.points[index].y;
change = (delta / point.series.points[index].y) * 100;
}
s += Math.round(change,2) + '%</span>';
s +='</span><br>';
});
return s;
}
},
そして、動作するjsfiddle: http://jsfiddle.net/nLjsc/2/