最近、これと同様の問題に遭遇し、あなたの問題にも当てはまる解決策を思いつきました。ステップ LineChart があり、定義されたデータ ポイントだけでなく、ユーザーが線上の任意の場所にカーソルを置いたときにデータ ヒントを表示したいと考えていました。
その問題に対して私が書いた解決策については、ここで読むことができます:フレックス: LineChart でのデータ ヒントの位置と動作のカスタマイズ
問題に合わせて私のソリューションを少し変更する必要があります。
Math.abs(last.y - mouseLoc.y) < 50
47行目でチェックを外すことができます。これにより、データ ヒントがマウスの垂直方向に 50 ピクセル以内の線に制限されます。
データポイント間に直接線を引くだけのデフォルトのセグメント折れ線グラフを使用していると思います。特定の x 座標で線の値を計算するコードを変更して、そのグラフ タイプを操作する必要があります。33 ~ 41 行目で、マウスの左側にある最も近いデータ ポイントを既に見つけて、last
. 次のデータ ポイント (マウスの右側に最も近いデータ ポイント) を取得し、次のようなものを使用してマウスの値を取得します。
var slope:Number = (nextPoint.y - last.y) / (nextPoint.x - last.x);
var lineYAtMouse:Number = (slope * (last.x - mouseLoc.x)) + last.y;
var lineValue:Array = line.localToData(new Point(mouseLoc.x, lineYAtMouse));
次に、69 行目から 72 行目を次のように置き換えます。
hitPoint.x = mouseLoc.x;
hitPoint.y = lineYAtMouse;
hitPoint.xValue = lineValue[0];
hitPoint.yValue = lineValue[1];
私はこれらの変更をテストしていないので、1 つまたは 2 つのバグがある可能性がありますが、一般的な考え方はそこにあります。これが誰かにとってまだ役立つことを願っています。この質問はかなり古くなっています。:)