# Sgrayplot

色付きの曲面の2次元平滑化プロット

## 呼び出し手順

    Sgrayplot(x,y,z,<opt_args>)
                Sgrayplot(x,y,z [,strf, rect, nax, zminmax, colminmax, mesh, colout])

## 引数

x,y

  大きさ n1 および n2の実数行ベクトル.

z

  大きさ (n1,n2)の実数行列. `z(i,j)` は 点(x(i),y(j))における曲面の値です.

<opt_args>

  一連の命令`key1=value1,key2=value2`,...を表します.ただし, `key1`,`key2,...`は以下のどれかとすることができます: strf, rect, nax, zminmax, colminmax, mesh, colout.

strf

  `"xyz"`は長さ3の文字列です (デフォルトでは `strf= "081"`)

  x

    表題の表示を制御します.

    x=0

      表題なし.

    x=1

      表題が表示されます. 表題は オプションの引数 `leg`で指定されます.

  y

    指定された最小限の値による実際の座標の範囲の計算を制御します. 実際の範囲は指定された最小限の範囲よりも大きくすることができます.

    y=0

      計算は行われず,プロットは前(またはデフォルト)のスケール を使用します

    y=1

      rect 引数による

    y=2

      x, y データの最小値/最大値による

    y=3

      rect引数に基づく等値スケールによる arg

    y=4

      x, y データの最小値/最大値に基づく 等値スケールによる

    y=5

      rect引数に基づき見栄えを良くするために軸を拡大

    y=6

      x, y データの最小値/最大値に基づき 見栄えを良くするために軸を拡大

    y=7

      y=1と似ていますが,前のプロットが 新しいスケールで再描画されます

    y=8

      y=2と似ていますが,前のプロットが 新しいスケールで再描画されます

  z

    プロットの周囲のフレームへの情報表示を制御します. 軸を指定した場合,目盛の数をオプション引数`nax` により指定できます.

    z=0

      プロットの周辺には何も表示されません.

    z=1

      軸が描画され, y=axis が左に表示されます.

    z=2

      プロットは目盛を付けずに矩形で囲われます.

    z=3

      軸が描画され, y=axis が右に表示されます.

    z=4

      軸がフレームボックスの中央に矩形を付けずに描画されます.

    z=5

      軸がフレームボックスの中央に矩形を付けて描画されます.

rect

  この引数は引数 `strf`の 2番目の文字 y が 1, 3 または 5の場合に 使用されます.大きさ4の行ベクトルで以下のようにフレームの大きさを指定します: `rect=[xmin,ymin,xmax,ymax]`.

nax

  この引数は引数 `strf`の 3番目の文字 z が 1,の場合に 使用されます.要素数4の行ベクトル`[nx,Nx,ny,Ny]`で, `nx` (`ny`)は x (y)軸の サブグラデーションの数, `Nx` (`Ny`) は x (y) 軸の グラデーションの数です.

zminmax, colminmax, mesh, colout

  fec参照.

## 説明

`Sgrayplot` は `grayplot` と同じですが, プロットは平滑化されます. 関数 `fec` が平滑化に使用されます. 曲面のプロットの際には, グリッド(ここでは, n1=5, n2=3)により構築される一連の三角形の上では線形であると仮定されます:

    _____________
    | /| /| /| /|
    |/_|/_|/_|/_|
    | /| /| /| /|
    |/_|/_|/_|/_|

関数 colorbar を 使用して,カラースケールを表示することが可能です.

パラメータ `zminmax` はアニメーション用(下記例参照)に 有用です. パラメータ `colminmax` によりユーザがカレントの カラーマップの一部を選択することが可能になります(fec のヘルプ参照).

デモを参照するためには `Sgrayplot()` コマンドを入力してください.

## 例

Sgrayplot();

## 例

    // 例 #1
    x=-10:10; y=-10:10;m =rand(21,21);
    clf()
    xset("colormap",hotcolormap(64))
    Sgrayplot(x,y,m, strf="011", rect=[-20,-20,20,20])

    // 例 #2
    t=-%pi:0.1:%pi; m=sin(t)'*cos(t);
    clf()
    xset("colormap",jetcolormap(64))
    colorbar(-1,1)
    Sgrayplot(t,t,m, strf="041")

    // 例 #3: アニメーション表示 cos(t)*sin(x)sin(y).
    n = 30;
    nt = 100;
    x = linspace(0,2*%pi,n);
    y = linspace(0,%pi,n/2);
    z = sin(x')*sin(y);
    t = linspace(0,4*%pi,nt);
    show_window(); clf()
    f=gcf();
    f.color_map=jetcolormap(64);
    f.pixmap='on';
    colorbar(-1,1)
    Sgrayplot(x,y,cos(t(1))*z, strf="042", zminmax=[-1,1])
    c=gce(),e=c.children
    xtitle("Kaa''s eyes")
    for i = 1:nt
      e.data(:,3)=matrix(cos(t(i))*z,-1,1);
      show_pixmap()
    end
    f.pixmap='off';

## 参照

- fec
- fgrayplot
- grayplot
- Sfgrayplot
- colorbar