私は現在、highstockを使用して、1日の時間に基づいて利用可能なアイテムの総数をプロットしています(その後、リアルタイムで更新されます)。
アイテムの総数に2つの変更が同時に発生した場合、高在庫では、差の縦棒が表示されます。
したがって、私の例の画像では、4299のものから始めて、53個のアイテムが削除され、50個が追加されます(技術的には同時にですが、2つの異なるトランザクションであり、2つのポイントです)。正味の差は-3です。(つまり、{x:5:44:15およびy:4246、変更:-53}、{x:5:44:15、y:4296、変更:50}を取得します)。
だから私の質問:ハイストックでこれらのポイントをマージして垂直バーを取り除き、表示値として4296を使用することは可能ですか?次に、ツールチップフォーマッターを使用して「this.points」をループし、ツールチップに-53の変更と50の変更を表示して、ユーザーが-3の正味の変更をもたらした結果を確認できるようにしたいと考えていました。
これが不可能な場合は、ポイントを自分でマージし、ポイント内のすべての関連情報を渡して、目的のツールチップ(およびグラフの外観)を生成しますが、のすべての機能を利用できるかどうかを確認したいと思います。最初にハイストック-そしてこれらのポイントを別々に保ちます。
ありがとう!
編集::
new Highcharts.StockChart({
chart : {
renderTo : 'realTimeChart',
zoomType: 'x',
backgroundColor: '#feffdd',
style: {
fontFamily: 'Segoe UI'
},
type: 'spline'
},
plotOptions: {
area: { animation: false },
arearange: { animation: false },
areaspline: { animation: false },
areasplinerange: { animation: false },
bar: { animation: false },
column: { animation: false },
columnrange: { animation: false },
gauge: { animation: false },
line: { animation: false },
pie: { animation: false },
scatter: { animation: false },
series: { animation: false },
spline: { animation: false }
},
xAxis: {
ordinal: false
},
tooltip: {
animation: false,
formatter: function() {
var p = '';
p += '<span style="font-size: 9px;">' + Highcharts.dateFormat('%A, %b %e, %Y %H:%M:%S', this.x) +'</span><br/>';
$.each(this.points, function(i, point){
p += '<span style="color:' + this.series.color + '">' + this.series.name + '</span>: <b>'+ this.y +'</b>';
if (point.point.where) {
p += '<br />' + point.point.where + ' changed by ' + point.point.change + (point.point.who ? ' (' + point.point.who + ')' : '');
}
});
return p;
}
},
rangeSelector: {
buttons: [{
count: 30,
type: 'minute',
text: '30M'
}, {
count: 1,
type: 'hour',
text: '1H'
}, {
count: 6,
type: 'hour',
text: '6H'
}, {
type: 'all',
text: 'Day'
}],
inputEnabled: false,
selected: 1
},
exporting: {
enabled: false
},
series : [{
name : 'Available',
data : data,
lineWidth: 1,
states: {
hover: {
enabled: false
}
}
}]
データは前に示した形式ですが、xはエポックから実際にはミリ秒単位です。
data = [
{x: 123456789, y: 2000, where: 'Location', change: 40, who: 'Joe'},
{x: 123456789, y: 1960, where: 'Location', change: -40, who: 'Bob'},
...
];