Jouchi Nakajima

| profile | paper | program |

Program - Ox グラフリファレンス

 Oxでよく使うグラフ

グラフを描くには、main()の前に#include<oxdraw.h>と書いておきます。コードの基本形は、
    Draw***(i,*,*);
    Draw*****(j,*,*,*,*);
    SaveDrawWindow("graph1.eps");
    CloseDrawWindow( );
となります。Draw***関数の1番目の引数 i や j には、グラフを描く位置を指定します。位置は左上が0で右下へ向かって順番に1,2,. . . となります。2番目以降の引数はグラフの種類によって異なり、データ変数やオプションを指定します。通常、サイズがnでm変数の行列は、n×m行列(mX) として取り扱うことが多いですが、グラフ関数の引数にはm×n行列として入力しなければならないので、転置行列(mX') を使います。SaveDrawWindow("name.eps") でグラフを出力するファイル名を指定して、CloseDrawWindow()で出力を完了します。

グラフにタイトルをつけるには、
    Draw***(i,*,*);
    DrawTitle(i,"Graph-1");
とします。1番目の引数でグラフを指定して、2番目の引数にタイトルを入力します。タイトルには変数も使えます。さらに、TeX仕様のコードも使えますが、Oxの中で「\」マークを使うときは、「\\」と書くことになっていますので、例えば、次のように指定することができます。
    DrawTitle(i,"Sampling $\\sigma_\\eta^2$");




Draw(i, mX', a, b) : 時系列プロット1
 Draw 関数は折れ線グラフを出力します。データ mX (n×m)に対して、m本の折れ線が描かれます。引数 a、b はオプションで、a に時系列の開始の数(1行目のデータに対応)、b に時系列の単位間隔がそれぞれ指定できます。デフォルトは、a = b = 1 です。

DrawMatrix(i, mX', name, a, b) : 時系列プロット2
 Draw 関数に凡例をつける引数が加わった関数です。引数 name にm個の変数名を入力します。DrawMatrix 関数では、引数 a と b がオプションではなく、必ず指定する必要があります。

DrawT(i, mX', a, b, c) : 時系列プロット3
 Draw 関数に細かい時系列単位を加えた関数です。例えば、実際の経済データで、引数 a に開始年、b に開始期、c に1年の期数を入力します。(a, b, c) = (1990, 2, 4)と指定した場合、1990 年の第2期(1年は4期) から開始することになります。

DrawTMatrix(i, mX', name, a, b, c) : 時系列プロット4
 DrawT 関数に凡例をつける引数が加わった関数です。引数 name にm個の変数名を入力します。


DrawDensity(i, mZ', name, a, b, c) : 分布プロット/ヒストグラム1
 DrawDensity 関数はデータの分布密度やヒストグラムを出力します。データ mZ (n×m)に対して、m個のグラフが描かれます。引数 name にはm個の変数名を入力します。引数 a、b、c はオプションで、a が1のとき密度分布、b が1のときヒストグラム、c が1のとき近似正規分布がそれぞれ描かれ、0を指定すると描かれません。c を1にしたときには、近似正規分布の標準偏差(データの標準偏差に一致)が表示されます。

DrawHistogram(i, vA', a, b) : 度数分布/ヒストグラム2
 DrawHistogram 関数はデータの度数データ vA (k×1)に対して、ヒストグラムを出力します。度数データ vA には、階級の小さい順に度数を入力しておきます。引数 a、b はオプションで、a に最低階級の開始の値、b に階級幅を指定します。デフォルトは、a = b = 1です。




DrawAcf(i, vY', name, a, b, c, d) : 自己相関関数プロット/コレログラム1
 DrawAcf 関数は時系列データ vY (n×1)に対して、自己相関関数プロット(コレログラム)を出力します。データに行列 mX (n×m)を入力することもでき、その場合はm個のグラフが描かれます。引数 name にm個の変数名、引数 a にラグの最大値を入力します。引数 b、c、d はオプションで、b が1のとき自己相関関数、c が1のとき偏自己相関関数、d が1のとき95%のエラーバンドがそれぞれ描かれ、0を指定すると描かれません。

DrawCorrelogram(i, vY', name, a) : コレログラム2
 DrawCorrelogram 関数は時系列データ vY (n×1)に対して、コレログラムを出力します。データに行列 mX (n×m)を入力することもでき、その場合はm個のグラフが描かれます。引数 name にm個の変数名、引数 a にラグの最大値を入力します。