グラフからデータポイントを取得

Origin CのGetGraphPointsクラスは、グラフウィンドウの曲線からデータポイントを取得するのに使用されます。これは、仮想的なメソッドを持ち、メソッドをオーバーロードするためにそれから派生されます。

以下のサンプルは、グラフから2つのデータポイントを取得するし、GetGraphPointsクラスを使用する方法を示します。

GetGraphPoints mypts;

// trueにセットすると、カーソルがデータプロットに沿って移動し、
// 曲線からデータポイントを取得
// falseにセットすると、カーソルはデータプロットに沿って移動しない
// 画面上からデータポイントを取得
mypts.SetFollowData(true, dp.GetIndex());

// GraphLayerオブジェクト(gl)で指定したGraphからデータポイントを取得
int nPts = 2; // 取得するポイント数
mypts.GetPoints(nPts, gl);

// 取得したデータからx/yデータとそのインデックスを取得
vector vx, vy;
vector<int> vnPtsIndices, vnPlotIndices;
if( mypts.GetData(vx, vy, vnPtsIndices, vnPlotIndices) == nPts )
{
	for(int ii = 0; ii < vx.GetSize(); ii++)
	{
		printf("point %d: index = %d, x = %g, y = %g, on plot %d\n", 
			ii+1, vnPtsIndices[ii], vx[ii], vy[ii], vnPlotIndices[ii]+1);
	}
}