data object

 1つの数値データに対し、1つのdataオブジェクトのインスタンスが対応します。数値データの読み込み方法や、プロット方法などを管理します。任意数のインスタンスを作ることができます。


Members

INT id
dataオブジェクトのインスタンス番号です。このメンバはread onlyです。

 
STRING label
インスタンスに付けることのできる名称です。名称の付け方に決まりはありません。

 
BOOL selected
このインスタンスの選択状態を示します。

 
BOOL virgin
この値がtrueの場合loaddata()関数はfilenameに従いファイルをロードします。falseの場合、loaddata()関数はファイル名"${PID}_iid(f)_iid(d)_filename"を${TOPAZINIDIR}/tmpからロードします。ここで${PID}はTopazのプロセスid、iid(f)は読み込むframeオブジェクトインスタンスのインスタンスid、iid(d)はdataオブジェクトインスタンスのインスタンスidです。新たな数値ファイル名をfilenameに指定し、データをloaddata()関数で読み込む場合、必ずloaddata()関数の実行前に、このメンバをtrueにしてください。

 
BOOL show
データ表示有り無しを示します。

 
BOOL trans_x
xデータの数値変換有り無しを指定します。

 
BOOL trans_y
yデータの数値変換有り無しを指定します。

 
STRING format_x
xデータの数値変換書式を指定します。

 
STRING format_y
yデータの数値変換書式を指定します。

 
INT linecolor_red
INT linecolor_green
INT linecolor_blue
データ線の色を指定します。各色は符号無し16bitの数値で指定します。

 
INT markeredgecolor_red
INT markeredgecolor_green
INT markeredgecolor_blue
マーカの輪郭色を指定します。各色は符号無し16bitの数値で指定します。

 
INT markerbodycolor_red
INT markerbodycolor_green
INT markerbodycolor_blue
マーカの内部色を指定します。各色は符号無し16bitの数値で指定します。

 
INT linewidth
データ線幅を1/20point単位で指定します。

 
INT linecap
データ線端形状(0: butt, 1: round, 2: projecting)を指定します。

 
INT linejoin
データ線の接続形状(0: miter, 1: round, 2: bevel)を指定します。

 
INT linestyle
データ線スタイル(0: solid, 1: dash, 2: longdash, 3: shortdash, 4: -*-, 5: -**-, 6: dot, 7: null)を指定します。

 
INT markeredgewidth
マーカの輪郭線幅を1/20point単位で指定します。

 
INT markeredgecap
マーカの輪郭線端形状(0: butt, 1: round, 2: projecting)を指定します。

 
INT markeredgejoin
マーカの輪郭線の接続形状(0: miter, 1: round, 2: bevel)を指定します。

 
INT markeredgestyle
マーカの輪郭線スタイル(0: solid, 1: dash, 2: longdash, 3: shortdash, 4: -*-, 5: -**-, 6: dot, 7: null)を指定します。

 
INT markerfillstyle
マーカ内部の塗りつぶしスタイル(0: solid、 1: null)を指定します。

 
INT markerfillrule
マーカ内部の塗りつぶし方法(0: evenodd、 1: winding)を指定します。

 
INT interpolate
データ点間の補間の方法を指定します。0:polyline 1:closed polyline 2:spline 3:parametric spline 4:closed parametric spline 5:Bspline 6:closed Bspline

 
INT interpolatedev
データ点間の補間点数を指定します。

 
INT markerstyle
マーカの種類を指定します。0:null 1:square 2:triangle 3:reverse triangle 4:diamond 5:circle 6:cross 7:diagonal cross 8:vertical area 9:horizontal area 10:vertical bar 11:horizontal bar 12:vertical step 13:horizontal step 14:vertical bar2 15:horizontal bar2

 
BOOL markercenterdot
マーカの中心に点を打つか指定します。

 
INT markersize
マーカの大きさを1/20point単位で指定します。

 
BOOL clipping
データを親"frame"オブジェクト内にクリップするか指定します。

 
INT refaxis_x
x軸として参照する座標軸のインスタンスidを指定します。

 
INT refaxis_y
y軸として参照する座標軸のインスタンスidを指定します。

 
DOUBLE basevalue
markerstyleが6,7,8,9,10,11,12,13,14,15の場合の塗りつぶし基準値を指定します。

 
DOUBLE m_start
DOUBLE m_end
INT m_div
INT m_scaling
メモリデータの場合、描画開始x値、終了x値、m_startとm_endの間の分割数と、分割方法を指定します。分割方法は、0:linear、1:log、2:inverseの中から選択します。例えば、logを指定するとm_startとm_endの間を指数関数的にm_dev数分割します。これらの値を変更した場合、最後にremakebuffer()関数をコールして、数値バッファ内を更新しなければなりません。

 
INT col_x
数値データのxデータのカラム番号です。

 
INT col_xmin
INT col_xmax
xデータのエラーバー表示を行う場合、xデータの最大値、最小値を与える数値データカラムを指定します。最大値カラムをcol_xmaxと最小値カラムをcol_xminにせず、最大値カラムをcol_xminと最小値カラムをcol_xmaxとしても構いません。

 
BOOL bar_x
xデータのエラーバー表示を行います。

 
INT col_y
数値データのyデータのカラム番号です。

 
INT col_ymin
INT col_ymax
xデータのエラーバー表示を行う場合、yデータの最大値、最小値を与える数値データカラムを指定します。最大値カラムをcol_ymaxと最小値カラムをcol_yminにせず、最大値カラムをcol_yminと最小値カラムをcol_ymaxとしても構いません。

 
BOOL bar_y
yデータのエラーバー表示を行います。

 
INT readstart
数値データの読み込み開始行を指定します。

 
INT readend
数値データの読み込み終了行を指定します。ー1を指定すると、ファイルの最後まで読み込みます。

 
INT skip
数値データの読み込みの際の行のスキップ量を指定します。通常は1であり、全てのデータを読み込みます。2にすると、1行おきにデータを読み込みます。

 
INT commentlineaction
数値データの読み込み時、コメント行(先頭のスペースを除き、/、;、#、%、"で始まる行)に達したときの処理方法を規定します。0:abort(読み込みを中止)、1:ignore(コメント行を無視)、2:separation(コメント行を異なるデータの区切りとみなす)

 
INT datasearchpath
数値データの読み込み時、数値データをsearchする方法を指定します。0:absolute(絶対パスでサーチ)、1:current(カレントディレクトリからサーチ)

 
BOOL extradatadispflag[INT]
他のカラムデータを使用するときに用います。このメンバはBOOL型の0〜98までの配列になっています。例えばextradatadispflag[50] = 1とすると、(50 + 1)番目のカラムのデータをロードします。データをロードすることにより、数値処理書式中で%51と指定することで、このデータを参照できます。

 
STRING extradata
他のカラムデータを使用するときに用います。このテキスト中に読み込むカラムを記述すると、数値データ読み込み時にextradatadispflagに翻訳され、指定したカラムが自動的に読み込まれます。カラム1及び2を読み込む場合、"1,2"あるいは"1-2"のように記述します。カラム1、2、3、4、5、6及び10を読み込む場合、"1-6, 10"の様に記述します。

 
DOUBLE x[INT]
DOUBLE y[INT]
DOUBLE xmin[INT]
DOUBLE ymin[INT]
DOUBLE xmax[INT]
DOUBLE ymax[INT]
数値データの数式変換前の数値を示します。このメンバは配列です。x[i]のようにindexをつけて用います。

 
INT x_attr[INT]
INT y_attr[INT]
INT xmin_attr[INT]
INT ymin_attr[INT]
INT xmax_attr[INT]
INT ymax_attr[INT]
数値データの属性を示します。このメンバは配列です。x_attr[i]のようにindexをつけて用います。属性は、0: normal 2: infinite 4: ignored です。この属性が0の場合プロットされますが、2の場合このデータは無限大として扱われます。この属性の含むデータを線でプロットすると、この属性を持つ点で線は分断されます。この属性が4のばあい、このデータは無視されます。この属性の含むデータを線でプロットすると、この属性を持つ点は無視され、その前後の点は線分で結ばれます。

 
DOUBLE X[INT]
DOUBLE Y[INT]
DOUBLE XMIN[INT]
DOUBLE XMAX[INT]
DOUBLE YMIN[INT]
DOUBLE YMAX[INT]
数値データの数式変換後の数値を示します。このメンバは配列です。X[i]のようにindexをつけて用います。

 
DOUBLE bound_xmin
DOUBLE bound_xmax
DOUBLE bound_ymin
DOUBLE bound_ymax
数値データの数式変換前の数値で、x,yデータの最小、最大値を示します。

 
DOUBLE axy[INT]
メンバextradataで指定した数値データの数式変換前の数値を示します。xyは2桁の整数です。このメンバは配列です。a12[i]のようにindexをつけて用います。

 
STRING filename
数値ファイル名を表します。

 
STRING info
このデータオブジェクトに関する情報を格納します。最小二乗フィッティング結果などが格納されます。

Methods

VOID paint HANDLE
ファイルハンドルHANDLEへこのdataオブジェクトのイメージを出力します。

 
VOID remakebuffer NULL
メモリデータの場合数値バッファを更新します。m_start, m_end, m_dev, m_scalingを変更したら、最後にこの関数を呼び出さなければなりません。

 
VOID setbbox HANDLE
ファイルハンドルHANDLEへこのdataオブジェクトのBouding boxの情報を送ります。

 
INT datalength VOID
数値データの点数を返します。

 
ARRAY linearfit ARRAY
(curve, fixed, fixedpointx, fixedpointy, startline, endline)を引数として、線形最小二乗法を行った後、(function, infosrting)が返ります。INT curveはトライアル関数を以下の整数で与えます。0〜10: n次多項式(n=0〜10)、11: y=A*exp(B*x)、12: y = A + B * ln(x)、13: y = A * x ^ B、14: y = A * B ^x。BOOL fixedは固定点の通過あり無しを指定します。固定点は、(DOUBLE fixedpointx, DOUBLE fixedpointy)で与えます。startline、endlineはフィットを行う数値データの開始・終了点数を与えます。endline=-1の場合、データの最後までフィットに考慮します。STRING functionは、フィット結果を示す間数式です。STRING infostringにはフィット情報が格納されます。フィットが失敗した場合、返り値は("", "")です。

 
ARRAY nonlinearfit ARRAY
(startline, endline, trialfunction, a0, b0, c0, d0, e0, f0, g0, h0, i0, dy/da, dy/db, dy/dc, dy/dd, dy/de, dy/df, dy/dg, dy/dh, dy/di, precision)を引数として、非線形最小二乗法を行った後、(function, infosrting)が返ります。startline、endlineはフィットを行う数値データの開始・終了点数を与えます。endline=-1の場合、データの最後までフィットに考慮します。STRING trialfunctionには非線形最小二乗法を行うトライアル間数式を与えます。STRING a0〜i0はフィッティングパラメータの初期値です。このパラメータが""の場合、このパラメータをフィッティングパラメータとして扱いません。dy/da〜dy/diはtrialfunctionを各パラメータで偏微分した関数式が入ります。この関数式は必ずしも与える必要はありませんが、与えた方が収束性は向上します。STRING functionは、フィット結果を示す間数式です。STRING infostringにはフィット情報が格納されます。フィットが失敗した場合、返り値は("", "")です。

 
BOOL loaddata VOID
メンバfilenameで与えられるファイルをディスクからロードします。