私はjqplotの初心者なので、無知を許してください。OHLC チャートを生成するアプリを継承しました。各系列は、最小から最大までの範囲の垂直線で示され、平均に目盛りが付いています。jqplotClick 関数と jqplotMouseMove 関数が定義されており、どちらも次で始まります。
if (neighbor) {
私の問題は、シリーズにデータポイントが1つしか含まれていない場合、つまり O == H == L == C (その場合、目盛りのみで線なしでレンダリングされる)、隣人が null であり、クリックおよびマウスの移動アクションです。起こらないでください。これらのアクションがこれらのシングル ポイント シリーズで発生するように修正するように依頼されました。
データ ポイントがあるのに、なぜネイバーが null なのですか? そのような場合、どうすればこれを機能させることができますか?
ティア!
dnagirl の投稿に対する詳細情報は次のとおりです。
これは、jqplot に渡されるシリーズです。
[
Array[4]
0: Array[6]
0: 1
1: 59.351
2: 62.621
3: 55.89
4: 59.351
5: Object
length: 6
__proto__: Array[0]
1: Array[6]
0: 2
1: 60.805
2: 60.805
3: 60.805
4: 60.805
5: Object
length: 6
__proto__: Array[0]
2: Array[6]
0: 3
1: 59.7385
2: 62.224
3: 57.947
4: 59.7385
5: Object
length: 6
__proto__: Array[0]
3: Array[6]
0: 4
1: 58.9365
2: 59.48
3: 58.393
4: 58.9365
5: Object
length: 6
__proto__: Array[0]
length: 4
__proto__: Array[0]
,
Array[4]
0: Array[3]
0: 1
1: 1
2: Object
length: 3
__proto__: Array[0]
1: Array[3]
0: 2
1: 3
2: Object
length: 3
__proto__: Array[0]
2: Array[3]
0: 3
1: null
2: Object
length: 3
__proto__: Array[0]
3: Array[3]
0: 4
1: 2
2: Object
length: 3
__proto__: Array[0]
length: 4
__proto__: Array[0]
]
そして、ここにチャートの写真があります:
これを jqplot の checkIntersection 関数までたどりました。問題は、OHLC チャートがあり、O==H==L==C の場合、ネイバーが選択されないことです。このブロックでは、if は true になることはありません。
else if (!r.hlc){
var yp = s._yaxis.series_u2p;
if (x >= p[0]-r._tickLength && x <= p[0]+r._tickLength && y >= yp(s.data[j][2]) && y <= yp(s.data[j][3])) {
return {seriesIndex: i, pointIndex:j, gridData:p, data:s.data[j]};
}
}
ただし、O、H、および L が等しくない場合は true を返します。