Flotでtooltip


Flotでtooltipを出力するにあたり、いくつかハマったのでメモ。


参考
Flot Examples


1. 同一のdataIndexを持つ複数のlabelが座標上で重なり合う位置にあるとtooltipが変わらない

参考サイトでの方法ですが、

if (previousPoint != item.dataIndex) {
}

とすると、違うlabelで同じdataIndexを持つグラフが座標上で重なり合う位置にある場合、マウスが違うlabelの上に移動しているのにtooltipが入れ替わらないので、

if (previousPoint[0] != item.dataIndex || previousPoint[1] != item.seriesIndex) {
}

のように、item.seriesIndex もチェックすることで解決しました。


2. 棒グラフのbarWidthがマイナスだとtooltipが出ない模様

barWidthをマイナスすると、x軸の基準位置から負の方向に棒グラフを出力できるのですが、barWidthがマイナスだとtooltipが出ないようです。

仕方がないので、barWidthマイナスをやめ、配列データのx座標をきっちり計算して配列に入れるようにしました。