ComponentOne Studio TrueChart for ASP.NET (C1WebChart2D) ヘルプ
ピクセル座標値からデータ点への変換
C1Chart の使い方 > グラフのインタラクティブ操作 > 座標変換メソッド > ピクセル座標とデータ点の相互変換 > ピクセル座標値からデータ点への変換

ピクセル座標値をグラフのデータ座標およびデータインデックスに変換する2つのメソッドは、ChartGroup オブジェクトの CoordToDataCoord メソッドと CoordToDataIndex メソッドです。これらのメソッドは、MouseMove イベントなどから座標値を取得し、プロット領域の座標または最も近いデータ点を返します。

CoordToDataCoord メソッド

CoordToDataCoord メソッドは4つのパラメータを取ります。最初の2つのパラメータ(以下のサンプルコードの e.X と e.Y)は、MouseMove イベントからのピクセル座標です。次の2つのパラメータは、メソッドが X 軸と Y 軸のデータ座標を整数値で返却するために使用します。以下に、MouseMove イベントにおけるこのメソッドのサンプルコードを示します。

Visual Basic コードの書き方

Visual Basic
コードのコピー
Dim CoordXOutput As Double Dim CoordYOutput As Double 
    C1Chart1.ChartGroups.Group0.CoordToDataCoord(e.X, e.Y, CoordXOutput, CoordYOutput) 
    Debug.WriteLine("X
Data Coordinate: " & CoordXOutput.ToString()) 
    Debug.WriteLine("Y Data Coordinate: " & CoordYOutput.ToString())

C# コードの書き方

C#
コードのコピー
double CoordXOutput = 0;
    double CoordYOutput = 0;
    c1Chart1.ChartGroups.Group0.CoordToDataCoord(e.X, e.Y, CoordXOutput, CoordYOutput);
c1Chart1.ChartGroups.Group0. CoordToDataCoord(e.X, e.Y, ref CoordXOutput, ref CoordYOutput);
    ConsoleDebug.Writeline("X Data Coordinate: " +
CoordXOutput.ToString()); ConsoleDebug.Writeline("Y Data Coordinate: " + CoordYOutput.ToString());
メモ:CoordToDataCoordメソッドを使用する例については、製品付属の「StepChartサンプル」または 「CoordToMapping3Dサンプル」を参照してください。

CoordToDataIndex メソッド

CoordToDataIndex メソッドは6つのパラメータをとります。最初の2つのパラメータ(以下のサンプルコードの e.X と e.Y)は、MouseMove イベントからのピクセル座標です。3番目のパラメータは、CoordinateFocusEnum 列挙体の値です。この値は、より近いデータ点とピクセル座標からの距離を決定するときに注目する軸を指定する列挙値です。たとえば、X 軸を注目すると、Y 座標の値に関係なく、最も近い X 座標を持つ最も近い点を返します。4番目と5番目のパラメータは、メソッドが適切なデータセットとデータ点のインデックスを整数値で返すために使用します。6番目のパラメータは、メソッドがデータ点とピクセル座標の距離(ピクセル単位)を整数値で返すために使用します。以下に、MouseMove イベントにおけるこのメソッドのサンプルコードを示します。

Visual Basic コードの書き方

Visual Basic
コードのコピー
Dim SeriesOutput As Integer Dim PointOutput As Integer Dim DistanceOutput As Integer
    C1Chart1.ChartGroups.Group0._ CoordToDataIndex(e.X, e.Y,
CoordinateFocusEnum.XandYCoord,_ ref SeriesOutput, ref PointOutput, ref DistanceOutput)
    Debug.WriteLine("Series Index: " & SeriesOutput.ToString())
Debug.WriteLine("Point Index: " & PointOutput.ToString()) 
    Debug.WriteLine("Distance From Point: " & DistanceOutput.ToString())

C# コードの書き方

C#
コードのコピー
int SeriesOutput = 0; 
    int PointOutput = 0; 
    int DistanceOutput = 0; 
    c1Chart1.ChartGroups.Group0.CoordToDataIndex(e.X, e.Y, CoordinateFocusEnum.XandYCoord,
ref SeriesOutput, ref PointOutput, ref DistanceOutput); 
    ConsoleDebug.Writeline("Series Index: " + SeriesOutput.ToString()); 
    ConsoleDebug.Writeline("Point
Index: " + PointOutput.ToString()); 
    ConsoleDebug.Writeline("Distance From Point: " + DistanceOutput.ToString());
メモ:CoordToDataIndexメソッドを使用する例については、製品付属の「DataStyle サンプル」、 「CoordToMapping3Dサンプル」、「StepChart サンプル」または「Scatter サンプル」を参照してください。