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で与えられるファイルをディスクからロードします。