Maxima branch_5_47_base_7_g39559bd_dirty Manual: Functions and Variables for draw

Next: Functions and Variables for pictures, Previous: Introduction to draw, Up: draw [Contents][Index]

### 48.2 Functions and Variables for draw

#### 48.2.1 Scenes

シーン構成子: gr2d (graphic option, ..., graphic object, ...)

  関数`gr2d`は 2Dシーンを記述するオブジェクトを作ります。 引数はグラフィックオプション、グラフィックオブジェクト、または、 グラフィックオプションとオブジェクト両方を含むリストです。 このシーンは順に解釈されます: グラフィックオプションはその右に置かれたそれらのグラフィックオブジェクトに影響します。 いくつかのグラフィックオプションはシーンのグローバルな外観に影響します。

  以下は2次元のシーンで利用可能なグラフィックオブジェクトのリストです: `bars`, `ellipse`, `explicit`, `image`, `implicit`, `label`, `parametric`, `points`, `polar`, `polygon`, `quadrilateral`, `rectangle`, `triangle`, `vector`, `geomap` (パッケージ`worldmap`で定義されるもの)。

  `draw`と`draw2d`も参照してください。

  このオブジェクトを利用するには、最初に`load("draw")`を書いてください。

  Package draw ·

シーン構成子: gr3d (graphic option, ..., graphic object, ...)

  関数`gr3d`は3dシーンを記述するオブジェクトを作ります。 引数はグラフィックオプション、グラフィックオブジェクト、または グラフィックオプションとオブジェクト両方を含むリストです。 このシーンは順に解釈されます: グラフィックオプションはその右に置かれたそれらのグラフィックオブジェクトに影響します。 いくつかのグラフィックオプションはシーンのグローバルな外観に影響します。

  以下は3次元のシーンで利用可能なグラフィックオブジェクトのリストです: `cylindrical`, `elevation_grid`, `explicit`, `implicit`, `label`, `mesh`, `parametric`,
  `parametric_surface`, `points`, `quadrilateral`, `spherical`, `triangle`, `tube`,
  `vector`, `geomap` (パッケージ`worldmap`で定義されるもの)。

  `draw`と`draw3d`も参照してください。

  このオブジェクトを利用するには、最初に`load("draw")`を書いてください。

  Package draw ·

#### 48.2.2 Functions

関数: draw (gr2d, ..., gr3d, ..., options, ...)

  一連のシーンをプロットします; 引数は`gr2d`や`gr3d`のオブジェクトといくつかのオプションです。 デフォルトでは、シーンは1列の中に一緒に置かれます。

  関数`draw`は以下のグローバルオプションを受け付けます: `terminal`, `columns`, `dimensions`, `file_name`, `delay`.

  関数`draw2d`や`draw3d`は それぞれ、2次元と3次元に関して、１つのシーンだけが要求される時に使われる ショートカットです。

  `gr2d`と`gr3d`も参照してください。

  この関数を利用するには、最初に`load("draw")`を書いてください。

  例:

      (%i1) load("draw")$
      (%i2) scene1: gr2d(title="Ellipse",
                         nticks=30,
                         parametric(2*cos(t),5*sin(t),t,0,2*%pi))$
      (%i3) scene2: gr2d(title="Triangle",
                         polygon([4,5,7],[6,4,2]))$
      (%i4) draw(scene1, scene2, columns = 2)$

  2つの描画文は同値です:

      (%i1) load("draw")$
      (%i2) draw(gr3d(explicit(x^2+y^2,x,-1,1,y,-1,1)));
      (%o2)                          [gr3d(explicit)]
      (%i3) draw3d(explicit(x^2+y^2,x,-1,1,y,-1,1));
      (%o3)                          [gr3d(explicit)]

  アニメーティドgifファイル:

      (%i1) load("draw")$
      (%i2) draw(
              delay     = 100,
              file_name = "zzz",
              terminal  = 'animated_gif,
              gr2d(explicit(x^2,x,-1,1)),
              gr2d(explicit(x^3,x,-1,1)),
              gr2d(explicit(x^4,x,-1,1)));
      End of animation sequence
      (%o2)          [gr2d(explicit), gr2d(explicit), gr2d(explicit)]

  `gr2d`, `gr3d`, `draw2d`, `draw3d`も参照してください。

  Package draw ·File output ·

関数: draw2d (option, graphic_object, ...)

  この関数は `draw(gr2d(options, ..., graphic_object, ...))`. のショートカットです。

  2dで唯一のシーンをプロットするのに使うことができます。

  この関数を利用するには、最初に`load("draw")`を書いてください。

  `draw`と`gr2d`も参照してください。

  Package draw ·File output ·

関数: draw3d (option, graphic_object, ...)

  この関数は `draw(gr3d(options, ..., graphic_object, ...))` のショートカットです。

  3dでユニークなシーンをプロットするのに使うことができます。

  この関数を利用するには、最初に`load("draw")`を書いてください。

  `draw`と`gr3d`も参照してください。

  Package draw ·File output ·

関数: draw_file (graphic option, ..., graphic object, ...)

  現在のプロットをファイルに保存します。 受け付けられるグラフィックオプションは以下です: `terminal`, `dimensions`, `file_name`, `file_bgcolor`.

  例:

      (%i1) load("draw")$
      (%i2) /* screen plot */
            draw(gr3d(explicit(x^2+y^2,x,-1,1,y,-1,1)))$
      (%i3) /* same plot in eps format */
            draw_file(terminal  = eps,
                      dimensions = [5,5]) $

  Package draw ·File output ·

関数: multiplot_mode (term)

  この関数を使って、Maximaは 端末termで1ウィンドウマルチプロットモードで機能することができます; この関数が受け入れる引数は、`screen`, `wxt`, `aquaterm`, `none`です。

  マルチプロットモードがイネーブルの時、 `draw`へのそれぞれのコールは、 同じウィンドウに以前のものを消すことなく新しいプロットを送ります。 マルチモードをディセーブルにするには、 `multiplot_mode(none)`を書いてください。

  マルチプロットモードがイネーブルの時、 グローバルオプション`terminal`はブロックされます。 別の端末に変更する前に、この機能中のモードをディセーブルしなければいけません。

  この特長はWindowsプラットフォームでは機能しません。

  例:

      (%i1) load("draw")$
      (%i2) set_draw_defaults(
               xrange = [-1,1],
               yrange = [-1,1],
               grid   = true,
               title  = "Step by step plot" )$
      (%i3) multiplot_mode(screen)$
      (%i4) draw2d(color=blue,  explicit(x^2,x,-1,1))$
      (%i5) draw2d(color=red,   explicit(x^3,x,-1,1))$
      (%i6) draw2d(color=brown, explicit(x^4,x,-1,1))$
      (%i7) multiplot_mode(none)$

  Package draw ·File output ·

関数: set_draw_defaults (graphic option, ..., graphic object, ...)

  ユーザーグラフィックオプションを設定します。 この関数は 共通のグラフィックスオプションで一連のグラフィックスをプロットするのに 役に立ちます。 引数なしにこの関数を呼ぶと、ユーザーデフォルトを取り除きます。

  例:

      (%i1) load("draw")$
      (%i2) set_draw_defaults(
               xrange = [-10,10],
               yrange = [-2, 2],
               color  = blue,
               grid   = true)$
      (%i3) /* plot with user defaults */
            draw2d(explicit(((1+x)**2/(1+x*x))-1,x,-10,10))$
      (%i4) set_draw_defaults()$
      (%i5) /* plot with standard defaults */
            draw2d(explicit(((1+x)**2/(1+x*x))-1,x,-10,10))$

  この関数を利用するには、 最初に`load("draw")`を書いてください。

  Package draw ·

#### 48.2.3 Graphic options

グラフィックオプション: adapt_depth

  デフォルト値: 10

  `adapt_depth`は適応プロットルーチンが使う分割の最大数です。

  このオプションは2d`explicit`関数に対してだけ有効です。

  Package draw ·

グラフィックオプション: axis_3d

  デフォルト値: `true`

  もし`axis_3d`が`true`なら、 x, y z軸が3dシーンで表示されます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題なりません。

  例:

      (%i1) load("draw")$
      (%i2) draw3d(axis_3d = false,
                   explicit(sin(x^2+y^2),x,-2,2,y,-2,2) )$

  2dでの軸に関しては、 `axis_bottom`, `axis_left`, `axis_top`, `axis_right`も 参照してください。

  Package draw ·

グラフィックオプション: axis_bottom

  デフォルト値: `true`

  もし`axis_bottom`が`true`なら、 底の軸は2dシーンで表示されます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題なりません。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(axis_bottom = false,
                   explicit(x^3,x,-1,1))$

  `axis_left`, `axis_top`, `axis_right`, `axis_3d`も参照してください。

  Package draw ·

グラフィックオプション: axis_left

  デフォルト値: `true`

  もし`axis_left`が`true`なら、 左の軸が2dシーンで表示されます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題なりません。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(axis_left = false,
                   explicit(x^3,x,-1,1))$

  `axis_bottom`, `axis_top`, `axis_right`, `axis_3d`も参照してください。

  Package draw ·

グラフィックオプション: axis_right

  デフォルト値: `true`

  もし`axis_right`が`true`なら、 2dシーンで右軸が表示されます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題なりません。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(axis_right = false,
                   explicit(x^3,x,-1,1))$

  `axis_bottom`, `axis_left`, `axis_top`, `axis_3d`も 参照してください。

  Package draw ·

グラフィックオプション: axis_top

  デフォルト値: `true`

  もし`axis_top`が`true`なら、 上部の軸が2dシーンで表示されます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題なりません。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(axis_top = false,
                   explicit(x^3,x,-1,1))$

  `axis_bottom`, `axis_left`, `axis_right`, `axis_3d`も参照してください。

  Package draw ·

グラフィックオプション: background_color

  デフォルト値: `white`

  端末`gif`, `png`, `jpg`, `gif`のための背景色を設定します。 デフォルト背景色は白です。

  `color`も参照してください。

  Package draw ·

グラフィックオプション: border

  デフォルト値: `true`

  もし`border`が`true`なら、 ポリゴンの境界は`line_type`と`line_width`に従って塗られます。

  このオプションは以下のグラフィックオブジェクトに影響します:

  - `gr2d`: `polygon`, `rectangle`, と`ellipse`.

  例:

      (%i1) load("draw")$
      (%i2) draw2d(color       = brown,
                   line_width  = 8,
                   polygon([[3,2],[7,2],[5,5]]),
                   border      = false,
                   fill_color  = blue,
                   polygon([[5,2],[9,2],[7,5]]) )$

  Package draw ·

グラフィックオプション: cbrange

  デフォルト値: `auto`

  もし`cbrange`が`auto`なら `enhanced3d`が`false`でない時 色付けられる値の範囲は自動的に計算されます。 カラー範囲外の値は、最も近い端の色を使います。

  `enhanced3d`や`colorbox`が`false`の時、 オプション`cbrange`は効果を持ちません。

  もしユーザーが 色付けられた値の特定の区間が欲しいなら、 `cbrange=[-2, 3]`のようにMaximaリストとして与えられなければいけません。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  例:

      (%i1) load("draw")$
      (%i2) draw3d (
              enhanced3d     = true,
              color          = green,
              cbrange = [-3,10],
              explicit(x^2+y^2, x,-2,2,y,-2,2)) $

  `enhanced3d`, `colorbox`, `cbtics`も参照してください。

  Package draw ·

グラフィックオプション: cbtics

  デフォルト値: `auto`

  このグラフィックオプションは、 オプション`enhanced3d`が`false`でない時、 カラーボックス上にチックマークを描く方法を制御します。

  `enhanced3d`か`colorbox`が`false`の時、 オプション`cbtics`は効果を持ちません。

  完全な記述に関しては、`xtics`を参照してください。

  例:

      (%i1) load("draw")$
      (%i2) draw3d (
              enhanced3d = true,
              color      = green,
              cbtics  = {["High",10],["Medium",05],["Low",0]},
              cbrange = [0, 10],
              explicit(x^2+y^2, x,-2,2,y,-2,2)) $

  `enhanced3d`, `colorbox`, `cbrange`も参照してください。

  Package draw ·

グラフィックオプション: color

  デフォルト値: `"blue"`

  `color`は、線や点、ポリゴンやラベルの境界をプロットする色を指定します。

  色は名前や16進数のrgbコードとして与えられます。

  利用可能な色の名前は以下のものです:

      white            black            gray0            grey0
      gray10           grey10           gray20           grey20
      gray30           grey30           gray40           grey40
      gray50           grey50           gray60           grey60
      gray70           grey70           gray80           grey80
      gray90           grey90           gray100          grey100
      gray             grey             light_gray       light_grey
      dark_gray        dark_grey        red              light_red
      dark_red         yellow           light_yellow     dark_yellow
      green            light_green      dark_green       spring_green
      forest_green     sea_green        blue             light_blue
      dark_blue        midnight_blue    navy             medium_blue
      royalblue        skyblue          cyan             light_cyan
      dark_cyan        magenta          light_magenta    dark_magenta
      turquoise        light_turquoise  dark_turquoise   pink
      light_pink       dark_pink        coral            light_coral
      orange_red       salmon           light_salmon     dark_salmon
      aquamarine       khaki            dark_khaki       goldenrod
      light_goldenrod  dark_goldenrod   gold             beige
      brown            orange           dark_orange      violet
      dark_violet      plum             purple

  16進コードでの色彩成分は形式`"#rrggbb"`で導入されます。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(explicit(x^2,x,-1,1), /* default is black */
                   color = "red",
                   explicit(0.5 + x^2,x,-1,1),
                   color = blue,
                   explicit(1 + x^2,x,-1,1),
                   color = "light-blue", /* double quotes if - is used */
                   explicit(1.5 + x^2,x,-1,1),
                   color = "#23ab0f",
                   label(["This is a label",0,1.2])  )$

  `fill_color`も参照してください。

  Package draw ·

グラフィックオプション: colorbox

  デフォルト値: `true`

  もし`colorbox`が`true`なら、 ラベルなしの色スケールが`image` 2Dオブジェクトか色付けされた3dオブジェクトと一緒に 描かれます。 もし`colorbox`が`false`なら、 色スケールは表示されません。 もし`colorbox`が文字列なら、ラベル付き色スケールが描かれます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題なりません。

  例:

      (%i1) load("draw")$
      (%i2) im: apply('matrix,
                       makelist(makelist(random(200),i,1,30),i,1,30))$
      (%i3) draw2d(image(im,0,0,30,30))$
      (%i4) draw2d(colorbox=false, image(im,0,0,30,30))$

  `palette`も参照してください。

  Package draw ·

グラフィックオプション: columns

  デフォルト値: 1

  `columns`は多重プロットでの列の数です。

  これはグローバルグラフィックオプションなので、 シーン記述での位置はかまいません。 関数`draw`の引数として使うこともできます。

  例:

      (%i1) load("draw")$
      (%i2) scene1: gr2d(title="Ellipse",
                         nticks=30,
                         parametric(2*cos(t),5*sin(t),t,0,2*%pi))$
      (%i3) scene2: gr2d(title="Triangle",
                         polygon([4,5,7],[6,4,2]))$
      (%i4) draw(scene1, scene2, columns = 2)$

  Package draw ·

グラフィックオプション: contour

  デフォルト値: `none`

  オプション`contour`を使うと、ユーザーは 等高線をプロットする場所を選択できます。 可能な値は以下の通りです:

  - `none`: 等高線がプロットされません。
  - `base`: 等高線がxy平面上に射影されます。
  - `surface`: 等高線が表面にプロットされます。
  - `both`: 2つの等高線がプロットされます:xy平面上と表面と。
  - `map`: 等高線がxy平面上に射影されて、観点がちょうど垂直に設定されます。

  これはグローバルグラフィックオプションなので、 シーン記述での位置はかまいません。

  例:

      (%i1) load("draw")$
      (%i2) draw3d(explicit(20*exp(-x^2-y^2)-10,x,0,2,y,-3,3),
                   contour_levels = 15,
                   contour        = both,
                   surface_hide   = true) $

  Package draw ·

グラフィックオプション: contour_levels

  デフォルト値: 5

  このグラフィックオプションは、 等高線が描かれる方法を制御します。 `contour_levels`は、正の整数、3つの数のリスト、または、 数の任意の集合に設定することができます:

  - オプション`contour_levels`が正の整数nにバインド(bounded)されている時、 nこの等高線が等しい間隔で描かれます。 デフォルトでは、 5つの等しく間隔の空けられた等高線がプロットされます。
  - オプション`contour_levels`が 形式`[lowest,s,highest]`の長さ3のリストにバインド(bounded)されている時、 等高線は `lowest`から`highest`へ`s`個のステップでプロットされます。
  - オプション`contour_levels`が 形式`{n1, n2, ...}`の数の集合にバインド(bounded)されている時、 等高線は 値`n1`, `n2`, ...にプロットされます。

  これはグローバルグラフィックオプションなので、 シーン記述での位置はかまいません。

  例:

  10の等しく間隔の空けられた等高線。 レベルの実際の数は簡単なラベルを与えるために調整することができます。

      (%i1) load("draw")$
      (%i2) draw3d(color = green,
                   explicit(20*exp(-x^2-y^2)-10,x,0,2,y,-3,3),
                   contour_levels = 10,
                   contour        = both,
                   surface_hide   = true) $

  -8から8まで4つのステップで。

      (%i1) load("draw")$
      (%i2) draw3d(color = green,
                   explicit(20*exp(-x^2-y^2)-10,x,0,2,y,-3,3),
                   contour_levels = [-8,4,8],
                   contour        = both,
                   surface_hide   = true) $

  レベル-7, -6, 0.8, 5での等値線。

      (%i1) load("draw")$
      (%i2) draw3d(color = green,
                   Explicit(20*exp(-x^2-y^2)-10,x,0,2,y,-3,3),
                   Contour_levels = {-7, -6, 0.8, 5},
                   Contour        = both,
                   Surface_hide   = true) $

  `contour`も参照してください。

  Package draw ·

グラフィックオプション: data_file_name

  デフォルト値: `"data.gnuplot"`

  これは、 リクエストされたプロットを構築するためにGnuplotが必要とする数値データを含む ファイルの名前です。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題なりません。 関数`draw`の引数としても使うことができます。

  `gnuplot_file_name`の中で例を参照してください。

  Package draw ·

グラフィックオプション: delay

  デフォルト値: 5

  これは アニメーションgifファイルにおけるフレームの1/100秒単位の遅延です。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題なりません。 関数`draw`の引数としても使うことができます。

  例:

      (%i1) load("draw")$
      (%i2) draw(
              delay     = 100,
              file_name = "zzz",
              terminal  = 'animated_gif,
              gr2d(explicit(x^2,x,-1,1)),
              gr2d(explicit(x^3,x,-1,1)),
              gr2d(explicit(x^4,x,-1,1)));
      End of animation sequence
      (%o2)          [gr2d(explicit), gr2d(explicit), gr2d(explicit)]

  オプション`delay`はアニメーションgifに関してだけアクティブです; 他のいかなる場合も無視されます。

  `terminal`, `dimensions`も参照してください。

  Package draw ·

グラフィックオプション: dimensions

  デフォルト値: `[600,500]`

  出力端末の寸法。 その値は、幅と高さで形成されるリストです。 2つの数の意味は使っている端末に依存します。

  端末`gif`, `animated_gif`, `png`, `jpg`, `svg`, `screen`, `wxt`, `aquaterm`では、 整数はそれぞれの方向の点の数を表します。 もし整数でないなら、丸められます。

  端末`eps`, `eps_color`, `pdf`, `pdfcairo`では、 両方の数は1/100cm単位の長さを表します。 デフォルトでは、これらのフォーマットでの画像は幅6cm、高さ5cmであることを意味します。

  これはグローバルグラフィックオプションなので、 シーン記述での位置は関係ありません。 関数`draw`の引数として使われることもあります。

  例:

  ファイル出力とwxtキャンバスに適用されたオプション`dimensions`。

      (%i1) load("draw")$
      (%i2) draw2d(
              dimensions = [300,300],
              terminal   = 'png,
              explicit(x^4,x,-1,1)) $
      (%i3) draw2d(
              dimensions = [300,300],
              terminal   = 'wxt,
              explicit(x^4,x,-1,1)) $

  eps出力に適用されたオプション`dimensions`。 A4縦寸法のepsファイルが欲しいです。

      (%i1) load("draw")$
      (%i2) A4portrait: 100*[21, 29.7]$
      (%i3) draw3d(
              dimensions = A4portrait,
              terminal   = 'eps,
              explicit(x^2-y^2,x,-2,2,y,-2,2)) $

  Package draw ·

グラフィックオプション: enhanced3d

  デフォルト値: `false`

  もし`enhanced3d`が`false`なら、 3dプロットで表面は色付けられません。 もし`enhanced3d`が`true`なら、 Gnuplotのpm3dモードを設定して表面が色付けられます。 もし式が`enhanced3d`に与えられるなら、 それは`palette`に従って色を割り当てるのに使われます; この式の中の変数は表面記述で使われるものと同じでなければいけません。

  如何にパレットが指定されるか知るためには、オプション`palette`を参照してください。

  例:

      (%i1) load("draw")$
      (%i2) draw3d(
               surface_hide = true,
               enhanced3d   = true,
               palette      = gray,
               explicit(20*exp(-x^2-y^2)-10,x,-3,3,y,-3,3))$
      (%i3) draw3d(
               surface_hide = true,
               /* same variables x and y as */
               /* in explicit below:        */
               enhanced3d   = sin(x*y),
               explicit(20*exp(-x^2-y^2)-10,x,-3,3,y,-3,3))$
      (%i4) draw3d(
               color = blue,
               nticks = 60,
               line_width = 3,
               enhanced3d = (u-1)^2,
               parametric(cos(5*u)^2,sin(7*u),u-2,u,0,2))$

  Package draw ·

グラフィックオプション: error_type

  デフォルト値: `y`

  値は`x`, `y`, `xy`を取り得ますが、その値に依存して、 グラフィックオブジェクト`errors`は水平エラーバー、垂直エラーバー、その両方を伴って 点を描画します。 `error_type=boxes`の時、クロスの代わりにボックスが描かれます。

  `errors`も参照してください。

グラフィックオプション: file_name

  デフォルト値: `"maxima_out"`

  これは、 端末`png`, `jpg`, `eps`, `eps_color`, `pdf`, `pdfcairo`がグラフィックを保存する ファイルの名前です。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題なりません。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(file_name = "myfile",
                   explicit(x^2,x,-1,1),
                   terminal  = 'png)$

  `terminal`, `dimensions`も参照してください。

  Package draw ·

グラフィックオプション: fill_color

  デフォルト値: `"red"`

  `fill_color`はポリゴンと2d `explicit`関数を塗りつぶすための色を指定します。

  如何に色が指定されるかを知るには`color`を参照してください。

  Package draw ·

グラフィックオプション: fill_density

  デフォルト値: 0

  `fill_density`は、`bars`オブジェクトに関して`fill_color`の強度を指定する0と1の間の数です。

  例を見るには`bars`を参照してください。

グラフィックオプション: filled_func

  デフォルト値: `false`

  オプション`filled_func`は 関数によって制限された領域が如何に塗りつぶされるべきかを 制御します。 `filled_func`が`true`の時、 オブジェクト`explicit`とグラフィックウィンドウの底で定義された関数によって 閉ざされた領域は`fill_color`で塗りつぶされます。 `filled_func`が関数式を含む時、 この関数とオブジェクト`explicit` で定義された関数によって閉ざされた領域が 塗りつぶされます。 デフォルトでは、陽な関数は塗りつぶされません。

  このオプションは2dグラフィックオブジェクト`explicit`だけに影響します。

  例:

  `explicit`オブジェクトとグラフィックウィンドウによって閉ざされた領域。

      (%i1) load("draw")$
      (%i2) draw2d(fill_color  = red,
                   filled_func = true,
                   explicit(sin(x),x,0,10) )$

  `explicit`オブジェクト とオプション`filled_func`で定義された関数によって閉ざされた領域。 `filled_func`の中の変数は must be the same as that used in `explicit`の中で使われるものと同じでなければいけないことに注意してください。

      (%i1) load("draw")$
      (%i2) draw2d(fill_color  = grey,
                   filled_func = sin(x),
                   explicit(-sin(x),x,0,%pi));

  `fill_color`と`explicit`も参照してください。

  Package draw ·

グラフィックオプション: font

  デフォルト値: `""` (empty string)

  このオプションは 端末が使う書体を設定するために使うことができます。 プロットを通して書体とサイズは１つだけ使うことができます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  `font_size`も参照してください。

  Gnuplotはそれ自身フォントを扱いません。 異なる端末のサポートライブラリに任せます。 それぞれはフォントに関して独自の哲学を持っています。 簡単なまとめは以下の通りです:

  - x11: 通常のX11フォンとサーバーメカニズムを使います。

    例:

        (%i1) load("draw")$
        (%i2) draw2d(font      = "Arial",
                     font_size = 20,
                     label(["Arial font, size 20",1,1]))$

  - windows: Windows端末はプロット内部でフォントの変更をサポートしません。 一旦プロットが生成されると、グラフウィンドウのメニューを右クリックしてフォントを変更することができます。
  - png, jpeg, gif: libgdライブラリは 環境変数`GDFONTPATH`の中に保持されたフォントパスを使います; この場合、オプション`font`をフォント名に設定することだけが必要です。 フォントファイルへの完全なパスを与えることも可能です。

    例:

    オプション`font`はフォントファイルへの完全なパスを与えることができます:

        (%i1) load("draw")$
        (%i2) path: "/usr/share/fonts/truetype/freefont/" $
        (%i3) file: "FreeSerifBoldItalic.ttf" $
        (%i4) draw2d(
                font      = concat(path, file),
                font_size = 20,
                color     = red,
                label(["FreeSerifBoldItalic font, size 20",1,1]),
                terminal  = png)$

    もし環境変数`GDFONTPATH`が フォントファイルが配置されているパスに設定されているなら、 set グラフィックオプション`font`をフォント名に設定することが可能です。

        (%i1) load("draw")$
        (%i2) draw2d(
                font      = "FreeSerifBoldItalic",
                font_size = 20,
                color     = red,
                label(["FreeSerifBoldItalic font, size 20",1,1]),
                terminal  = png)$

  - Postscript: 標準ポストスクリプトフォントは以下の通りです:
    `"Times-Roman"`, `"Times-Italic"`, `"Times-Bold"`, `"Times-BoldItalic"`,
    `"Helvetica"`, `"Helvetica-Oblique"`, `"Helvetica-Bold"`,
    `"Helvetic-BoldOblique"`, `"Courier"`, `"Courier-Oblique"`, `"Courier-Bold"`,
    `"Courier-BoldOblique"`。

    例:

        (%i1) load("draw")$
        (%i2) draw2d(
                font      = "Courier-Oblique",
                font_size = 15,
                label(["Courier-Oblique font, size 15",1,1]),
                terminal = eps)$

  - pdf: Postscriptと同じフォントを使います。
  - pdfcairo: wxtと同じフォントを使います。
  - wxt: pangoライブラリは `fontconfig`ユーティリティを介してフォントを見つけます。
  - aqua: デフォルトは`"Times-Roman"`です。

  Gnuplotドキュメンテーションは端末とフォントに関する情報の重要なソースです。

  Package draw ·

グラフィックオプション: font_size

  デフォルト値: 10

  このオプションは、 フォントサイズを端末によって使われるように設定するために使うことができます。 １つの書体とサイズだけがプロットの間中で使うことができます。 オプション`font`が空の文字列に等しくない時だけ、 `font_size`はアクティブです。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  `font`も参照してください。

  Package draw ·

グラフィックオプション: gnuplot_file_name

  デフォルト値: `"maxout.gnuplot"`

  これは、 Gnuplotで処理される必要なコマンドを含む ファイルの名前です。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題なりません。 関数`draw`の引数としても使うことができます。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(
             file_name = "my_file",
             gnuplot_file_name = "my_commands_for_gnuplot",
             data_file_name    = "my_data_for_gnuplot",
             terminal          = png,
             explicit(x^2,x,-1,1)) $

  `data_file_name`も参照してください。

  Package draw ·

グラフィックオプション: grid

  デフォルト値: `false`

  もし`grid`が`true`なら、 xy平面上に格子が描かれます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(grid = true,
                   explicit(exp(u),u,-2,2))$

  Package draw ·

グラフィックオプション: head_angle

  デフォルト値: 45

  `head_angle`は矢印の頭と線分の間の角度を度の単位で示します。

  このオプションは`vector`オブジェクトに対してだけ有効です。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(xrange      = [0,10],
                   yrange      = [0,9],
                   head_length = 0.7,
                   head_angle  = 10,
                   vector([1,1],[0,6]),
                   head_angle  = 20,
                   vector([2,1],[0,6]),
                   head_angle  = 30,
                   vector([3,1],[0,6]),
                   head_angle  = 40,
                   vector([4,1],[0,6]),
                   head_angle  = 60,
                   vector([5,1],[0,6]),
                   head_angle  = 90,
                   vector([6,1],[0,6]),
                   head_angle  = 120,
                   vector([7,1],[0,6]),
                   head_angle  = 160,
                   vector([8,1],[0,6]),
                   head_angle  = 180,
                   vector([9,1],[0,6]) )$

  `head_both`, `head_length`, `head_type`も参照してください。

  Package draw ·

グラフィックオプション: head_both

  デフォルト値: `false`

  もし`head_both`が`true`なら、 ベクトルは2つの矢先と共に描画されます。 もし`false`なら１つの矢だけが描かれます。

  このオプションは`vector`オブジェクトに対してだけ有効です。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(xrange      = [0,8],
                   yrange      = [0,8],
                   head_length = 0.7,
                   vector([1,1],[6,0]),
                   head_both   = true,
                   vector([1,7],[6,0]) )$

  See also `head_length`, `head_angle`, and `head_type`.

  Package draw ·

グラフィックオプション: head_length

  デフォルト値: 2

  `head_length`は矢印の頭の長さをx-軸の単位で示します。

  このオプションは`vector`オブジェクトに対してだけ有効です。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(xrange      = [0,12],
                   yrange      = [0,8],
                   vector([0,1],[5,5]),
                   head_length = 1,
                   vector([2,1],[5,5]),
                   head_length = 0.5,
                   vector([4,1],[5,5]),
                   head_length = 0.25,
                   vector([6,1],[5,5]))$

  `head_both`, `head_angle`, `head_type`も参照してください。

  Package draw ·

グラフィックオプション: head_type

  デフォルト値: `filled`

  `head_type`は矢印の頭を如何にプロットするかを指定するのに使われます。 可能な値は以下の通りです: `filled` (閉じていて塗りつぶされた矢印の頭), `empty` (閉じているが塗りつぶされていない矢印の頭), `nofilled` (開いた矢印の頭).

  このオプションは`vector`オブジェクトにだけ有効です。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(xrange      = [0,12],
                   yrange      = [0,10],
                   head_length = 1,
                   vector([0,1],[5,5]), /* default type */
                   head_type = 'empty,
                   vector([3,1],[5,5]),
                   head_type = 'nofilled,
                   vector([6,1],[5,5]))$

  `head_both`, `head_angle`, `head_length`も参照してください。

  Package draw ·

グラフィックオプション: ip_grid

  デフォルト値: `[50, 50]`

  `ip_grid`はインプリシットなプロットでの最初のサンプリングのためにグリッドを設定します。

  このオプションは`implicit`オブジェクトに対してだけ関係があります。

  Package draw ·

グラフィックオプション: ip_grid_in

  デフォルト値: `[5, 5]`

  `ip_gridi_in`はインプリシットなプロットでの二番目のサンプリングのためにグリッドを設定します。

  このオプションは`implicit`オブジェクトに対してだけ関係があります。

  Package draw ·

グラフィックオプション: key

  デフォルト値: `""` (empty string)

  `key`は凡例の中の関数名です。 もし`key`が空の文字列なら、 関数にキーは割り当てられません。

  このオプションは以下のグラフィックオブジェクトに影響します:

  - `gr2d`: `points`, `polygon`, `rectangle`, `ellipse`, `vector`, `explicit`, `implicit`, `parametric`, と`polar`。
  - `gr3d`: `points`, `explicit`, `parametric`, と`parametric_surface`

  例:

      (%i1) load("draw")$
      (%i2) draw2d(key   = "Sinus",
                   explicit(sin(x),x,0,10),
                   key   = "Cosinus",
                   color = red,
                   explicit(cos(x),x,0,10) )$

  Package draw ·

グラフィックオプション: label_alignment

  デフォルト値: `center`

  `label_alignment`は 与えられた座標に関するラベルを書く場所を指定するのに使われます。 可能な値は以下のものです: `center`, `left`, `right`.

  このオプションは`label`オブジェクトに対してだけ有効です。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(xrange          = [0,10],
                   yrange          = [0,10],
                   points_joined   = true,
                   points([[5,0],[5,10]]),
                   color           = blue,
                   label(["Centered alignment (default)",5,2]),
                   label_alignment = 'left,
                   label(["Left alignment",5,5]),
                   label_alignment = 'right,
                   label(["Right alignment",5,8]))$

  `label_orientation`, `color`も参照してください。

  Package draw ·

グラフィックオプション: label_orientation

  デフォルト値: `horizontal`

  `label_orientation`はラベルの向きを指定するのに使われます。 可能な値は以下のものです: `horizontal`, `vertical`.

  このオプションは`label`オブジェクトに対してだけ有効です。

  例:

  この例では、ダミーの点がイメージを得るために加えられます。 パッケージ`draw`はいつもシーンを描くのにデータを必要とします。

      (%i1) load("draw")$
      (%i2) draw2d(xrange     = [0,10],
                   yrange     = [0,10],
                   point_size = 0,
                   points([[5,5]]),
                   color      = navy,
                   label(["Horizontal orientation (default)",5,2]),
                   label_orientation = 'vertical,
                   color             = "#654321",
                   label(["Vertical orientation",1,5]))$

  `label_alignment`と`color`も参照してください。

  Package draw ·

グラフィックオプション: line_type

  デフォルト値: `solid`

  `line_type`は線が如何に表示されるかを示します; 可能な値は`solid`と`dots`です。

  このオプションは以下のグラフィックオブジェクトに鋭意供します:

  - `gr2d`: `points`, `polygon`, `rectangle`, `ellipse`, `vector`, `explicit`, `implicit`, `parametric`と`polar`。
  - `gr3d`: `points`, `explicit`, `parametric`と`parametric_surface`。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(line_type = dots,
                   explicit(1 + x^2,x,-1,1),
                   line_type = solid, /* default */
                   explicit(2 + x^2,x,-1,1))$

  See also `line_width`.

  Package draw ·

グラフィックオプション: line_width

  デフォルト値: 1

  `line_width`はプロットされる線の幅です。 その値は正の数でなければいけません。

  このオプションは以下のグラフィックオブジェクトに影響します:

  - `gr2d`: `points`, `polygon`, `rectangle`, `ellipse`, `vector`, `explicit`, `implicit`, `parametric` と`polar`.
  - `gr3d`: `points`と`parametric`.

  例:

      (%i1) load("draw")$
      (%i2) draw2d(explicit(x^2,x,-1,1), /* default width */
                   line_width = 5.5,
                   explicit(1 + x^2,x,-1,1),
                   line_width = 10,
                   explicit(2 + x^2,x,-1,1))$

  `line_type`も参照してください。

  Package draw ·

グラフィックオプション: logcb

  デフォルト値: `false`

  もし`logcb`が`true`なら、 カラーボックスのチックは対数スケールで描かれます。

  `enhanced3d`か`colorbox`が`false`の時、 オプション`logcb`は効果を持ちません。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  例:

      (%i1) load("draw")$
      (%i2) draw3d (
              enhanced3d = true,
              color      = green,
              logcb = true,
              logz  = true,
              palette = [-15,24,-9],
              explicit(exp(x^2-y^2), x,-2,2,y,-2,2)) $

  `enhanced3d`, `colorbox`, `cbrange`も参照してください。

  Package draw ·

グラフィックオプション: logx

  デフォルト値: `false`

  もし`logx`が`true`なら、 x軸は対数スケールで描かれます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(explicit(log(x),x,0.01,5),
                   logx = true)$

  `logy`, `logz`も参照してください。

  Package draw ·

グラフィックオプション: logy

  デフォルト値: `false`

  もし`logy`が`true`なら、 y軸は対数スケールで描かれます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(logy = true,
                   explicit(exp(x),x,0,5))$

  `logx`, `logz`も参照してください。

  Package draw ·

グラフィックオプション: logz

  デフォルト値: `false`

  もし`logz`が`true`なら、 z軸は対数スケールで描かれます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  例:

      (%i1) load("draw")$
      (%i2) draw3d(logz = true,
                   explicit(exp(u^2+v^2),u,-2,2,v,-2,2))$

  `logx`, `logy`も参照してください。

  Package draw ·

グラフィックオプション: nticks

  デフォルト値: 29

  2dでは、`nticks`は、 陽なオブジェクトに関する適応プロットルーチンによって使われる点の初期数を与えます。 それはパラメトリック曲線と極座標曲線で示される点の数でもあります。

  このオプションは以下のグラフィックオブジェクトに影響を与えます:

  - `gr2d`: `ellipse`, `explicit`, `parametric`と`polar`。
  - `gr3d`: `parametric`。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(transparent = true,
                   ellipse(0,0,4,2,0,180),
                   nticks = 5,
                   ellipse(0,0,4,2,180,180) )$

  Package draw ·

グラフィックオプション: palette

  デフォルト値: `color`

  `palette`はグレイレベルを色成分上にマップする仕方を示します。 3Dオブジェクトでのオプション`enhanced3d`と一緒に機能します。 3Dオブジェクトは表面のすべての点を実数かグレイレベルに関連付けます。 グレイイメージとも一緒に機能します。`palette`によってレベルは色に変換されます。

  これらの変換を定義するには2つの方法があります。

  1つ目の方法では、`palette`は、-36から+36までの範囲の成分の長さ3のベクトルです; それぞれの値は それぞれ赤、緑、青色上にレベルをマップする公式に関する添字です:

       0: 0               1: 0.5           2: 1
       3: x               4: x^2           5: x^3
       6: x^4             7: sqrt(x)       8: sqrt(sqrt(x))
       9: sin(90x)       10: cos(90x)     11: |x-0.5|
      12: (2x-1)^2       13: sin(180x)    14: |cos(180x)|
      15: sin(360x)      16: cos(360x)    17: |sin(360x)|
      18: |cos(360x)|    19: |sin(720x)|  20: |cos(720x)|
      21: 3x             22: 3x-1         23: 3x-2
      24: |3x-1|         25: |3x-2|       26: (3x-1)/2
      27: (3x-2)/2       28: |(3x-1)/2|   29: |(3x-2)/2|
      30: x/0.32-0.78125 31: 2*x-0.84     32: 4x;1;-2x+1.84;x/0.08-11.5
      33: |2*x - 0.5|    34: 2*x          35: 2*x - 0.5
      36: 2*x - 1

  負の数は負の色成分を意味します。 `palette = gray`と`palette = color`は、 それぞれ`palette = [3,3,3]`と`palette = [7,5,15]`の ショートカットです

  2つ目の方法では、`palette`はユーザー定義のルックアップテーブルです。 この場合、長さ`n`のルックアップテーブルを構成するフォーマットは `palette=[color_1, color_2, ..., color_n`です。 ここで、`color_i`は、`color_i`が最低のグレイレベルに割り当てられ、 `color_n`が最高に割り当てられるような均整のとれた色です (オプション`color`を参照してください)。 残りの色は内挿されます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題なりません。

  例:

  3Dオブジェクトでのオプション`enhanced3d`と一緒に機能します。

      (%i1) load("draw")$
      (%i2) draw3d(
              enhanced3d = [z-x+2*y,x,y,z],
              palette = [32, -8, 17],
              explicit(20*exp(-x^2-y^2)-10,x,-3,3,y,-3,3))$

  グレイイメージとも一緒に機能します。

      (%i1) load("draw")$
      (%i2) im: apply(
                 'matrix,
                  makelist(makelist(random(200),i,1,30),i,1,30))$
      (%i3) /* palette = color, default */
            draw2d(image(im,0,0,30,30))$
      (%i4) draw2d(palette = gray, image(im,0,0,30,30))$
      (%i5) draw2d(palette = [15,20,-4],
                   colorbox=false,
                   image(im,0,0,30,30))$

  `palette`はユーザー定義のルックアップテーブルの場合があります。 この例では、ple, low values of `x`の低いレベルは赤に割り当てられ、高いレベルは黄色に割り当てられています。

      (%i1) load("draw")$
      (%i2) draw3d(
               palette = [red, blue, yellow],
               enhanced3d = x,
               explicit(x^2+y^2,x,-1,1,y,-1,1)) $

  `colorbox`も参照してください。

  Package draw ·

グラフィックオプション: point_size

  デフォルト値: 1

  `point_size`はプロットされる点のサイズを設定します。 非負数でなければいけません。

  グラフィックオプション`point_type`が`dot`に設定される時 このオプションは効果を持ちません。

  このオプションは以下のグラフィックオブジェクトに影響します:

  - `gr2d`: `points`.
  - `gr3d`: `points`.

  例:

      (%i1) load("draw")$
      (%i2) draw2d(points(makelist([random(20),random(50)],k,1,10)),
              point_size = 5,
              points(makelist(k,k,1,20),makelist(random(30),k,1,20)))$

  Package draw ·

グラフィックオプション: point_type

  デフォルト値: 1

  `point_type`は、いかに孤立した点が表示されるかを示します; このオプションの値は、-1以上の整数インデックスもしくは点スタイルの名前であり得ます: `$none` (-1), `dot` (0), `plus` (1), `multiply` (2), `asterisk` (3), `square` (4), `filled_square` (5), `circle` (6), `filled_circle` (7), `up_triangle` (8), `filled_up_triangle` (9), `down_triangle` (10), `filled_down_triangle` (11), `diamant` (12),`filled_diamant` (13).

  このオプションは以下のグラフィックオブジェクトに影響します:

  - `gr2d`: `points`.
  - `gr3d`: `points`.

  例:

      (%i1) load("draw")$
      (%i2) draw2d(xrange = [0,10],
                   yrange = [0,10],
                   point_size = 3,
                   point_type = diamant,
                   points([[1,1],[5,1],[9,1]]),
                   point_type = filled_down_triangle,
                   points([[1,2],[5,2],[9,2]]),
                   point_type = asterisk,
                   points([[1,3],[5,3],[9,3]]),
                   point_type = filled_diamant,
                   points([[1,4],[5,4],[9,4]]),
                   point_type = 5,
                   points([[1,5],[5,5],[9,5]]),
                   point_type = 6,
                   points([[1,6],[5,6],[9,6]]),
                   point_type = filled_circle,
                   points([[1,7],[5,7],[9,7]]),
                   point_type = 8,
                   points([[1,8],[5,8],[9,8]]),
                   point_type = filled_diamant,
                   points([[1,9],[5,9],[9,9]]) )$

  Package draw ·

グラフィックオプション: points_joined

  デフォルト値: `false`

  `points_joined`が`true`の時、 点は線で結ばれます; `false`の時、孤立した点が描かれます。 このグラフィックオプションの三番目の可能な値は`impulses`です; この場合、点からx軸(2D)もしくはxy平面(3D)へ垂直の線分が描かれます。

  このオプションは以下のグラフィックオブジェクトに影響します:

  - `gr2d`: `points`.
  - `gr3d`: `points`.

  例:

      (%i1) load("draw")$
      (%i2) draw2d(xrange        = [0,10],
                   yrange        = [0,4],
                   point_size    = 3,
                   point_type    = up_triangle,
                   color         = blue,
                   points([[1,1],[5,1],[9,1]]),
                   points_joined = true,
                   point_type    = square,
                   line_type     = dots,
                   points([[1,2],[5,2],[9,2]]),
                   point_type    = circle,
                   color         = red,
                   line_width    = 7,
                   points([[1,3],[5,3],[9,3]]) )$

  Package draw ·

グラフィックオプション: proportional_axes

  デフォルト値: `none`

  `proportional_axes`が`xy`に等しい時、 それらの相対的な長さに比例する軸で2Dシーンが描かれます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  このオプションは2Dプロットでだけ機能します。 一旦Gnuplot 4.3が公式にリリースされたら、 `proportional_axes`は3Dプロットに拡張させるでしょう。

  例:

  単プロット。

      (%i1) load("draw")$
      (%i2) draw2d(
              ellipse(0,0,1,1,0,360),
              transparent=true,
              color = blue,
              line_width = 4,
              ellipse(0,0,2,1/2,0,360),
              proportional_axes = xy) $

  多重プロット。

      (%i1) load("draw")$
      (%i2) draw(
              terminal = wxt,
              gr2d(proportional_axes = xy,
                   explicit(x^2,x,0,1)),
              gr2d(explicit(x^2,x,0,1),
                   xrange = [0,1],
                   yrange = [0,2],
                   proportional_axes=xy),
              gr2d(explicit(x^2,x,0,1))

  Package draw ·

グラフィックオプション: surface_hide

  デフォルト値: `false`

  もし`surface_hide`が`true`なら、 隠れた部分は3d表面にプロットされません。

  これはグローバルグラフィックオプションなので、 シーン記述での位置はかまいません。

  例:

      (%i1) load("draw")$
      (%i2) draw(columns=2,
                 gr3d(explicit(exp(sin(x)+cos(x^2)),x,-3,3,y,-3,3)),
                 gr3d(surface_hide = true,
                      explicit(exp(sin(x)+cos(x^2)),x,-3,3,y,-3,3)) )$

  Package draw ·

グラフィックオプション: terminal

  デフォルト値: `screen`

  Gnuplotが使う端末を選択します; 可能な値は: `screen` (デフォルト), `png`, `pngcairo`, `jpg`, `eps`, `eps_color`, `pdf`, `pdfcairo`, `gif`, `animated_gif`, `wxt`, `aquaterm`.

  端末`screen`, `wxt`, `aquaterm`は２つの要素を持つリストとしても定義できます: 端末自身の名前と非負の整数。 この形式では、それぞれ対応する番号を持つ複数のウィンドウを同時に開くことができます。 この特長はWindowsプラットフォームでは機能しません。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。 関数`draw`の引数としても使われます。

  注意せよ―pdfcairoはGnuplot 4.3を必要とします。 (2008年11月)現在、Gnuplot 4.3は開発バージョンです。 pdfは、 Gnuplot 4.2/4.3を オプション`--enable-pdf`でコンパイルすることを 必要とし、libpdfがインストールされていなければいけません。 pdfライブラリは以下で利用可能です: http://www.pdflib.com/en/download/pdflib-family/pdflib-lite/

  例:

      (%i1) load("draw")$
      (%i2) /* screen terminal (default) */
            draw2d(explicit(x^2,x,-1,1))$
      (%i3) /* png file */
            draw2d(terminal  = 'png,
                   explicit(x^2,x,-1,1))$
      (%i4) /* jpg file */
            draw2d(terminal   = 'jpg,
                   dimensions = [300,300],
                   explicit(x^2,x,-1,1))$
      (%i5) /* eps file */
            draw2d(file_name = "myfile",
                   explicit(x^2,x,-1,1),
                   terminal  = 'eps)$
      (%i6) /* pdf file */
            draw2d(file_name = "mypdf",
                   dimensions = 100*[12.0,8.0],
                   explicit(x^2,x,-1,1),
                   terminal  = 'pdf)$
      (%i7) /* wxwidgets window */
            draw2d(explicit(x^2,x,-1,1),
                   terminal  = 'wxt)$

  複数のウィンドウ。

      (%i1) load("draw")$
      (%i2) draw2d(explicit(x^5,x,-2,2), terminal=[screen, 3])$
      (%i3) draw2d(explicit(x^2,x,-2,2), terminal=[screen, 0])$

  動画gifファイル。

      (%i1) load("draw")$
      (%i2) draw(
              delay     = 100,
              file_name = "zzz",
              terminal  = 'animated_gif,
              gr2d(explicit(x^2,x,-1,1)),
              gr2d(explicit(x^3,x,-1,1)),
              gr2d(explicit(x^4,x,-1,1)));
      End of animation sequence
      (%o2)          [gr2d(explicit), gr2d(explicit), gr2d(explicit)]

  オプション`delay`は動画gifでだけ有効です; 他のいかなる場合も無視されます。

  `file_name`, `dimensions`, `delay`も参照してください。

  Package draw ·

グラフィックオプション: title

  デフォルト値: `""` (empty string)

  オプション`title`、文字列は、シーンのメインタイトルです。 デフォルトではタイトルは書かれません。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(explicit(exp(u),u,-2,2),
                   title = "Exponential function")$

  Package draw ·

グラフィックオプション: transform

  デフォルト値: `none`

  もし`transform`が`none`なら、 空間は変換されず、グラフィックオブジェクトは定義の通り描画されます。 空間変換が望まれた時、リストがオプション`transform`に割り当てられなければいけません。 2Dシーンの場合、 リストは形式`[f1(x,y), f2(x,y), x, y]`を取ります。 3Dシーンの場合、 リストは形式`[f1(x,y,z), f2(x,y,z), f3(x,y,z), x, y, z]`を取ります。 リストの中で定義されている変数名は グラフィックオブジェクトの定義の中で使われるものと異なるかもしれません。

  例:

  2Dの回転。

      (%i1) load("draw")$
      (%i2) th : %pi / 4$
      (%i3) draw2d(
              color = "#e245f0",
              proportional_axes = 'xy,
              line_width = 8,
              triangle([3,2],[7,2],[5,5]),
              border     = false,
              fill_color = yellow,
              transform  = [cos(th)*x - sin(th)*y,
                            sin(th)*x + cos(th)*y, x, y],
              triangle([3,2],[7,2],[5,5]) )$

  3Dでの変形。

      (%i1) load("draw")$
      (%i2) draw3d(
              color     = "#a02c00",
              explicit(20*exp(-x^2-y^2)-10,x,-3,3,y,-3,3),
              transform = [x+10,y+10,z+10,x,y,z],
              color     = blue,
              explicit(20*exp(-x^2-y^2)-10,x,-3,3,y,-3,3) )$

  Package draw ·

グラフィックオプション: transparent

  デフォルト値: `false`

  もし`transparent`が`true`なら、 ポリゴンの内側の領域は`fill_color`に従って塗りつぶされます。

  このオプションは以下のグラフィックオブジェクトに影響します:

  - `gr2d`: `polygon`, `rectangle`, と`ellipse`.

  例:

      (%i1) load("draw")$
      (%i2) draw2d(polygon([[3,2],[7,2],[5,5]]),
                   transparent = true,
                   color       = blue,
                   polygon([[5,2],[9,2],[7,5]]) )$

  Package draw ·

グラフィックオプション: tube_extremes

  デフォルト値: `[open, open]`

  グラフィックオブジェクト`tube`の極値が開いたままか 閉じていなければいけないかを示唆する 2つの可能性のある要素`open`と`closed`を持つリスト。 デフォルトでは、どちらの極値も開いたままです。

  例:

      (%i1) load("draw")$
      (%i2) draw3d(
              tube_extremes = [open, closed],
              tube(0, 0, a, 1,
                   a, 0, 8) )$

  Package draw ·

グラフィックオプション: unit_vectors

  デフォルト値: `false`

  もし`unit_vectors`が`true`なら、 ベクトルは単位1でプロットされます。 これはベクトル場をプロットするのに役に立ちます。 もし`unit_vectors`が`false`なら、 ベクトルは元の長さでプロットされます。

  このオプションは`vector`オブジェクトに対してだけ有効です。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(xrange      = [-1,6],
                   yrange      = [-1,6],
                   head_length = 0.1,
                   vector([0,0],[5,2]),
                   unit_vectors = true,
                   color        = red,
                   vector([0,3],[5,2]))$

  Package draw ·

グラフィックオプション: user_preamble

  デフォルト値: `""` (empty string)

  熟練Gnuplotユーザーは、 `plot`や`splot`コマンドの前に送られる設定を書くことで、 このオプションを利用して、 Gnuplotの振る舞いを微調整することができます。

  このオプションの値は文字列か(行毎に１つの)文字列のリスト でなければいけません。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題なりません。

  例:

  ダム端末は、パッケージ`draw`でサポートされていませんが、 オプション`user_preamble`の利用によって、それを設定することが可能です。

      (%i1) load("draw")$
      (%i2) draw2d(explicit(exp(x)-1,x,-1,1),
                   parametric(cos(u),sin(u),u,0,2*%pi),
                   user_preamble="set terminal dumb")$

  Package draw ·

グラフィックオプション: view

  デフォルト値: `[60,30]`

  3Dシーンでビュー方向を示す度数で測られた角度の対。 最初の角度はx軸回りの垂直回転であり、[0, 180]の範囲です。 二番目はz回りの水平回転であり、[0, 360]の範囲です。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題なりません。

  例:

      (%i1) load("draw")$
      (%i2) draw3d(view = [170, 360],
                   explicit(sin(x^2+y^2),x,-2,2,y,-2,2) )$

  Package draw ·

グラフィックオプション: x_voxel

  デフォルト値: 10

  `x_voxel`は 3d `暗黙の`オブジェクトで実装されたマーチングキューブアルゴリズム x方向のボクセルの数です。 グラフィックオブジェクト`region`でも使われます。

  Package draw ·

グラフィックオプション: xaxis

  デフォルト値: `false`

  もし`xaxis`が`true`なら、 x軸が描かれます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(explicit(x^3,x,-1,1),
                   xaxis       = true,
                   xaxis_color = blue)$

  `xaxis_width`, `xaxis_type`, `xaxis_color`も参照してください。

  Package draw ·

グラフィックオプション: xaxis_color

  デフォルト値: `"black"`

  `xaxis_color`はx軸の色を指定します。 いかに色が定義されるかを知るには`color`を参照してください。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(explicit(x^3,x,-1,1),
                   xaxis       = true,
                   xaxis_color = red)$

  `xaxis`, `xaxis_width`, `xaxis_type`も参照してください。

  Package draw ·

グラフィックオプション: xaxis_secondary

  デフォルト値: `false`

  もし`xaxis_secondary`が`true`なら、 関数値が、二番目のx軸に関してプロットされるかもしれません。 二番目のx軸はシーンのトップに描かれます。

  これは、2dプロットにだけ影響する局所的なグラフィックオプションであることに注意してください。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(
               key   = "Bottom x-axis",
               explicit(x+1,x,1,2),
               color = red,
               key   = "Above x-axis",
               xtics_secondary = true,
               xaxis_secondary = true,
               explicit(x^2,x,-1,1)) $

  `xrange_secondary`, `xtics_secondary`, `xtics_rotate_secondary`, `xtics_axis_secondary`, `xaxis_secondary`も参照してください。

  Package draw ·

グラフィックオプション: xaxis_type

  デフォルト値: `dots`

  `xaxis_type`はx軸がいかに表示されるかを示します; 可能な値は`solid`と`dots`です。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(explicit(x^3,x,-1,1),
                   xaxis       = true,
                   xaxis_type  = solid)$

  `xaxis`, `xaxis_width`, `xaxis_color`も参照してください。

  Package draw ·

グラフィックオプション: xaxis_width

  デフォルト値: 1

  `xaxis_width`はx軸の幅です。 その値は正数でなければいけません。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(explicit(x^3,x,-1,1),
                   xaxis       = true,
                   xaxis_width = 3)$

  `xaxis`, `xaxis_type`, `xaxis_color`も参照してください。

  Package draw ·

グラフィックオプション: xlabel

  デフォルト値: `""` (empty string)

  オプション`xlabel`、文字列は x軸のラベルです。 デフォルトでは、ラベルは書かれません。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(xlabel = "Time",
                   explicit(exp(u),u,-2,2),
                   ylabel = "Population")$

  `ylabel`と`zlabel`も参照してください。

  Package draw ·

グラフィックオプション: xrange

  デフォルト値: `auto`

  もし`xrange`が`auto`なら、 x座標の範囲は自動的に計算されます。

  もしユーザーが xに関して特定の区間が欲しいなら、 `xrange=[-2, 3]`のように、Maximaリストとして与えられなければいけません。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(xrange = [-3,5],
                   explicit(x^2,x,-1,1))$

  `yrange`と`zrange`も参照してください。

  Package draw ·

グラフィックオプション: xrange_secondary

  デフォルト値: `auto`

  もし`xrange_secondary`が`auto`なら、 二番目のx軸の範囲は自動的に計算されます。

  もしユーザーが 二番目のx軸の特定した区間が欲しいなら、 `xrange_secondary=[-2, 3]`のように、Maximaリストとして与えられなければいけません。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  `xrange`, `yrange`, `zrange`, `yrange_secondary`も参照してください。

  Package draw ·

グラフィックオプション: xtics

  デフォルト値: `auto`

  このグラフィックオプション制御は チックマークをx軸上に描く方法を制御します。

  - オプション`xtics`がシンボルautoにバインドされている時 チックマークは自動的に描かれます。
  - オプション`xtics`がシンボルnoneにバインドされている時 チックマークは描かれません。
  - オプション`xtics`が正の数にバインドされている時、 これは２つの連続するチックマークの間の距離になります。
  - オプション`xtics`が 形式`[start,incr,end]`の長さ３のリストにバインドされている時、 チックマークは `start`から`end`まで 長さ`incr`の間隔でプロットされます。
  - オプション`xtics`が 形式`{n1, n2, ...}`の数の集合にバインドされている時、 チックマークは 値`n1`, `n2`, ...にプロットされます。
  - オプション`xtics`が 形式`{["label1", n1], ["label2", n2], ...}`の対の集合にバインドされている時、 値`n1`, `n2`, ...に対応する チックマークはそれぞれ、 `"label1"`, `"label2"`, ...にラベルされます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  例:

  チックをディセーブルします。

      (%i1) load("draw")$
      (%i2) draw2d(xtics = 'none,
                   explicit(x^3,x,-1,1)  )$

  1/4単位毎のチック。

      (%i1) load("draw")$
      (%i2) draw2d(xtics = 1/4,
                   explicit(x^3,x,-1,1)  )$

  -3/4から3/4まで 1/8のステップでチック。

      (%i1) load("draw")$
      (%i2) draw2d(xtics = [-3/4,1/8,3/4],
                   explicit(x^3,x,-1,1)  )$

  点-1/2, -1/4, 3/4にチック。

      (%i1) load("draw")$
      (%i2) draw2d(xtics = {-1/2,-1/4,3/4},
                   explicit(x^3,x,-1,1)  )$

  ラベルされたチック。

      (%i1) load("draw")$
      (%i2) draw2d(xtics = {["High",0.75],["Medium",0],["Low",-0.75]},
                   explicit(x^3,x,-1,1)  )$

  `ytics`, `ztics`も参照してください。

  Package draw ·

グラフィックオプション: xtics_axis

  デフォルト値: `false`

  もし`xtics_axis`が`true`なら、 チックマークとそれらのラベルが x軸に沿ってだけプロットされます。 もし`false`なら、チックは境界上にプロットされます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  Package draw ·

グラフィックオプション: xtics_rotate

  デフォルト値: `false`

  もし`xtics_rotate`が`true`なら、 x軸上のチックマークが90度回転されます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  Package draw ·

グラフィックオプション: xtics_rotate_secondary

  デフォルト値: `false`

  もし`xtics_rotate_secondary`が`true`なら、 補助的なx軸上のチックマークが90度回転されます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  Package draw ·

グラフィックオプション: xtics_secondary

  デフォルト値: `auto`

  このグラフィックオプションは、 二番目のx軸上にチックマークを描く方法を制御します。

  完全な記述に関しては、`xtics`を参照してください。

  Package draw ·

グラフィックオプション: xtics_secondary_axis

  デフォルト値: `false`

  もし`xtics_secondary_axis`が`true`なら、 チックマークとそれらのラベルは補助的なx軸に沿ってだけプロットされ、 もし`false`なら、境界上にプロットされます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  Package draw ·

グラフィックオプション: xu_grid

  デフォルト値: 30

  `xu_grid`は サンプル点のグリッドを構築するための一番目の変数 (陽での`x`、パラメトリック3d表面での`u`)の座標の数です。

  このオプションは以下のグラフィックオブジェクトに影響を与えます:

  - `gr3d`: `explicit`と`parametric_surface`.

  例:

      (%i1) load("draw")$
      (%i2) draw3d(xu_grid = 10,
                   yv_grid = 50,
                   explicit(x^2+y^2,x,-3,3,y,-3,3) )$

  `yv_grid`も参照してください。

  Package draw ·

グラフィックオプション: xy_file

  デフォルト値: `""` (empty string)

  `xy_file`は、 マウスでクリックし、’x’キーを叩いた後、座標が保存される ファイルの名前です。 デフォルトでは、座標は保存されません。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題なりません。

  Package draw ·

グラフィックオプション: xyplane

  デフォルト値: `false`

  3Dシーンの中にxy平面を配置します。 `xyplane`が`false`の時、 xy平面は自動的に置かれます; 実数の時、xy平面はこのレベルでz軸と交わります。 このオプションは2Dシーンでは効果を持ちません。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題なりません。

  例:

      (%i1) load("draw")$
      (%i2) draw3d(xyplane = %e-2,
                   explicit(x^2+y^2,x,-1,1,y,-1,1))$

  Package draw ·

グラフィックオプション: y_voxel

  デフォルト値: 10

  `y_voxel`は 3d`暗黙の`オブジェクトで実装されたマーチングキューブアルゴリズム で使われるy方向のボクセルの数です。 グラフィックオブジェクト`region`でも使われます。

  Package draw ·

グラフィックオプション: yaxis

  デフォルト値: `false`

  もし`yaxis`が`true`なら、y軸が描かれます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題なりません。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(explicit(x^3,x,-1,1),
                   yaxis       = true,
                   yaxis_color = blue)$

  `yaxis_width`, `yaxis_type`, `yaxis_color`も参照してください。

  Package draw ·

グラフィックオプション: yaxis_color

  デフォルト値: `"black"`

  `yaxis_color`はy軸の色を指定します。 色がどのように定義されているか知るには `color`を参照してください。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題なりません。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(explicit(x^3,x,-1,1),
                   yaxis       = true,
                   yaxis_color = red)$

  `yaxis`, `yaxis_width`, `yaxis_type`も参照してください。

  Package draw ·

グラフィックオプション: yaxis_secondary

  デフォルト値: `false`

  もし`yaxis_secondary`が`true`なら、 関数値は二番目のy軸に関してプロットされるかもしれません。 二番目のy軸はシーンの右側に描かれます。

  これは、2dプロットにだけ影響する局所的なグラフィックオプションであることに注意してください。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(
               explicit(sin(x),x,0,10),
               yaxis_secondary = true,
               ytics_secondary = true,
               color = blue,
               explicit(100*sin(x+0.1)+2,x,0,10));

  `yrange_secondary`, `ytics_secondary`, `ytics_rotate_secondary` , `ytics_axis_secondary`も参照してください。

  Package draw ·

グラフィックオプション: yaxis_type

  デフォルト値: `dots`

  `yaxis_type`はy軸がどのように表示されるか示します; 可能な値は`solid`と`dots`です。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題なりません。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(explicit(x^3,x,-1,1),
                   yaxis       = true,
                   yaxis_type  = solid)$

  `yaxis`, `yaxis_width`, `yaxis_color`も参照してください。

  Package draw ·

グラフィックオプション: yaxis_width

  デフォルト値: 1

  `yaxis_width`はy軸の幅です。 その値は正の数でなければいけません。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題なりません。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(explicit(x^3,x,-1,1),
                   yaxis       = true,
                   yaxis_width = 3)$

  `yaxis`, `yaxis_type`, `yaxis_color`も参照してください。

  Package draw ·

グラフィックオプション: ylabel

  デフォルト値: `""` (empty string)

  オプション`ylabel`、文字列は y軸のラベルです。 デフォルトでは、ラベルは書かれません。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(xlabel = "Time",
                   ylabel = "Population",
                   explicit(exp(u),u,-2,2) )$

  `xlabel`と`zlabel`も参照してください。

  Package draw ·

グラフィックオプション: yrange

  デフォルト値: `auto`

  もし`yrange`が`auto`なら、 y座標の範囲は自動的に計算されます。

  もしユーザーがyの特定の区間が欲しいなら、 `yrange=[-2, 3]`のように、Maximaリストとして与えられなければいけません。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(yrange = [-2,3],
                   explicit(x^2,x,-1,1),
                   xrange = [-3,3])$

  `xrange`, `yrange_secondary`, `zrange`も参照してください。

  Package draw ·

グラフィックオプション: yrange_secondary

  デフォルト値: `auto`

  もし`yrange_secondary`が`auto`なら、 二番目のy軸の範囲は自動的に計算されます。

  もしユーザーが二番目のy軸の特定の区間が欲しいなら、 `yrange_secondary=[-2, 3]`のように、Maximaリストとして与えられなければいけません。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(
               explicit(sin(x),x,0,10),
               yaxis_secondary = true,
               ytics_secondary = true,
               yrange = [-3, 3],
               yrange_secondary = [-20, 20],
               color = blue,
               explicit(100*sin(x+0.1)+2,x,0,10)) $

  `xrange`, `yrange`, `zrange`も参照してください。

  Package draw ·

グラフィックオプション: ytics

  デフォルト値: `auto`

  このグラフィックオプションは、 y軸上にチックマークを描く方法を制御します。

  完全な記述に関しては、`xtics`を参照してください。

  Package draw ·

グラフィックオプション: ytics_axis

  デフォルト値: `false`

  もし`ytics_axis`が`true`なら、 チックマークとそれらのラベルはy軸に沿ってだけプロットされ、 もし`false`なら、境界上にプロットされます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  Package draw ·

グラフィックオプション: ytics_rotate

  デフォルト値: `false`

  もし`ytics_rotate`が`true`なら、 y軸上のチックマークが90度回転されます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  Package draw ·

グラフィックオプション: ytics_rotate_secondary

  デフォルト値: `false`

  もし`ytics_rotate_secondary`が`true`なら、 補助的なy軸上のチックマークが90度回転されます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  Package draw ·

グラフィックオプション: ytics_secondary

  デフォルト値: `auto`

  このグラフィックオプションは、 二番目のy軸上にチックマークを描く方法を制御します。

  完全な記述に関しては、`xtics`を参照してください。

  Package draw ·

グラフィックオプション: ytics_secondary_axis

  デフォルト値: `false`

  もし`ytics_secondary_axis`が`true`なら、 チックマークとそれらのラベルは補助的なy軸に沿ってだけプロットされ、 もし`false`なら、境界上にプロットされます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  Package draw ·

グラフィックオプション: yv_grid

  デフォルト値: 30

  `yv_grid`は サンプル点のグリッドを構築するための 二番目の変数(陽での`y`、パラメトリック3d表面での`v`)の座標の数です。

  このオプションは以下のグラフィックオブジェクトに影響を与えます:

  - `gr3d`: `explicit`と`parametric_surface`.

  例:

      (%i1) load("draw")$
      (%i2) draw3d(xu_grid = 10,
                   yv_grid = 50,
                   explicit(x^2+y^2,x,-3,3,y,-3,3) )$

  `xu_grid`も参照してください。

  Package draw ·

グラフィックオプション: z_voxel

  デフォルト値: 10

  `z_voxel`は 3d`implicit`オブジェクトで実装されたマーチングキューブアルゴリズム で使われるz方向のボクセルの数です。

  Package draw ·

グラフィックオプション: zaxis

  デフォルト値: `false`

  もし`zaxis`が`true`なら、3Dプロットでz軸が描かれます。 このオプションは2Dシーンでは効果を持ちません。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題なりません。

  例:

      (%i1) load("draw")$
      (%i2) draw3d(explicit(x^2+y^2,x,-1,1,y,-1,1),
                   zaxis       = true,
                   zaxis_type  = solid,
                   zaxis_color = blue)$

  `zaxis_width`, `zaxis_type`, `zaxis_color`も参照してください。

  Package draw ·

グラフィックオプション: zaxis_color

  デフォルト値: `"black"`

  `zaxis_color`はz軸の色を指定します。 色がどのように定義されているか知るには`color`を参照してください。 このオプションは2Dシーンでは効果を持ちません。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題なりません。

  例:

      (%i1) load("draw")$
      (%i2) draw3d(explicit(x^2+y^2,x,-1,1,y,-1,1),
                   zaxis       = true,
                   zaxis_type  = solid,
                   zaxis_color = red)$

  `zaxis`, `zaxis_width`, `zaxis_type`も参照してください。

  Package draw ·

グラフィックオプション: zaxis_type

  デフォルト値: `dots`

  `zaxis_type`はz軸がどのように表示されるか示します; 可能な値は`solid`と`dots`です。 このオプションは2Dシーンでは効果を持ちません。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題なりません。

  例:

      (%i1) load("draw")$
      (%i2) draw3d(explicit(x^2+y^2,x,-1,1,y,-1,1),
                   zaxis       = true,
                   zaxis_type  = solid)$

  `zaxis`, `zaxis_width`, `zaxis_color`も参照してください。

  Package draw ·

グラフィックオプション: zaxis_width

  デフォルト値: 1

  `zaxis_width`はz軸の幅です。 その値は正の数でなければいけません。 このオプションは2Dシーンでは効果を持ちません。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題なりません。

  例:

      (%i1) load("draw")$
      (%i2) draw3d(explicit(x^2+y^2,x,-1,1,y,-1,1),
                   zaxis       = true,
                   zaxis_type  = solid,
                   zaxis_width = 3)$

  `zaxis`, `zaxis_type`, `zaxis_color`も参照してください。

  Package draw ·

グラフィックオプション: zlabel

  デフォルト値: `""` (empty string)

  オプション`zlabel`文字列は z軸のラベルです。 デフォルトでは、ラベルは書かれません。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  例:

      (%i1) load("draw")$
      (%i2) draw3d(zlabel = "Z variable",
                   ylabel = "Y variable",
                   explicit(sin(x^2+y^2),x,-2,2,y,-2,2),
                   xlabel = "X variable" )$

  `xlabel`と`ylabel`も参照してください。

  Package draw ·

グラフィックオプション: zrange

  デフォルト値: `auto`

  もし`zrange`が`auto`なら、 z座標の範囲は自動的に計算されます。

  もしユーザーが zの特定の区間が欲しいなら、 `zrange=[-2, 3]`のようにMaximaリストとして与えられなければいけません。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  例:

      (%i1) load("draw")$
      (%i2) draw3d(yrange = [-3,3],
                   zrange = [-2,5],
                   explicit(x^2+y^2,x,-1,1,y,-1,1),
                   xrange = [-3,3])$

  `xrange`, `yrange`も参照してください。

  Package draw ·

グラフィックオプション: ztics

  デフォルト値: `auto`

  このグラフィックオプションは、 z軸上にチックマークを描く方法を制御します。

  完全な記述に関しては、`xtics`を参照してください。

  Package draw ·

グラフィックオプション: ztics_axis

  デフォルト値: `false`

  もし`ztics_secondary_axis`が`true`なら、 チックマークとそれらのラベルは補助的なz軸に沿ってだけプロットされ、 もし`false`なら、境界上にプロットされます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  Package draw ·

グラフィックオプション: ztics_rotate

  デフォルト値: `false`

  もし`ztics_rotate`が`true`なら、 z軸上のチックマークが90度回転されます。

  これはグローバルグラフィックスオプションなので、 シーン記述の位置は問題になりません。

  Package draw ·

#### 48.2.4 Graphics objects

グラフィックオブジェクト: bars ([x1,h1,w1], [x2,h2,w2, ...])

  2D内に垂直バーを描画します。

  2D

  `bars ([x1,h1,w1], [x2,h2,w2, ...])` は 値x1, x2, ...に中心を持ち、高さh1, h2, ...と幅w1, w2, ...を持つバーを描画します。

  このオブジェクトは以下のgraphic optionsに影響されます: `key`, `fill_color`, `fill_density`, `line_width`.

  例:

      (%i1) load("draw")$
      (%i2) draw2d(
             key          = "Group A",
             fill_color   = blue,
             fill_density = 0.2,
             bars([0.8,5,0.4],[1.8,7,0.4],[2.8,-4,0.4]),
             key          = "Group B",
             fill_color   = red,
             fill_density = 0.6,
             line_width   = 4,
             bars([1.2,4,0.4],[2.2,-2,0.4],[3.2,5,0.4]),
             xaxis = true);

グラフィックオブジェクト: cylindrical (radius, z, minz, maxz, azi, minazi, maxazi)

  円柱座標で定義された3D関数を描画します。

  3D

  `cylindrical (radius, z, minz, maxz, azi, minazi, maxazi)`は minzからmaxzまでの値を取るzと minaziからmaxaziまで値を取る方位角 aziを伴う 円柱座標で定義された関数`radius(z,azi)` をプロットします。

  このオブジェクトは以下のグラフィックオプションに影響されます: `xu_grid`, `yv_grid`, `line_type`, `key` and `color`.

  例:

      (%i1) load("draw")$
      (%i2) draw3d(cylindrical(1,z,-2,2,az,0,2*%pi))$

  Package draw ·

グラフィックオブジェクト: elevation_grid (mat,x0,y0,width,height)

  3D空間に行列matを描画します。 x0からx0 + widthまでの横座標範囲と y0からy0 + heightまでの縦座標範囲で、 z値はmatから取られます。 要素a(1,1)は点(x0,y0+height)上に射影され、 a(1,n)は(x0+width,y0+height)上に射影され、 a(m,1)は(x0,y0)上に射影され、 a(m,n)は(x0+width,y0)上に射影されます。

  このオブジェクトは以下のグラフィックオプションに影響されます: `line_type`, `line_width`, `key`, `enhanced3d`, `color`。

  Maximaの古いバージョンでは、`elevation_grid`は`mesh`と呼ばれました。 `mesh`も参照してください。

  例:

      (%i1) load("draw")$
      (%i2) m: apply(
                  matrix,
                  makelist(makelist(random(10.0),k,1,30),i,1,20)) $
      (%i3) draw3d(
               color = blue,
               elevation_grid(m,0,0,3,2),
               xlabel = "x",
               ylabel = "y",
               surface_hide = true);

  Package draw ·

グラフィックオブジェクト: ellipse (xc, yc, a, b, ang1, ang2)

  2D内で楕円や円を描画します。

  2D

  `ellipse (xc, yc, a, b, ang1, ang2)` は `[xc, yc]`を中心とし、水平と垂直半軸にそれぞれaとbを持ち、角度ang1から始まり、角度ang2に等しい振幅を持つ 楕円をプロットします。

  このオブジェクトは以下のgraphic optionsに影響されます: `nticks`, `transparent`, `fill_color`, `border`, `line_width`, `line_type`, `key`, `color`.

  例:

      (%i1) load("draw")$
      (%i2) draw2d(transparent = false,
                   fill_color  = red,
                   color       = gray30,
                   transparent = false,
                   line_width  = 5,
                   ellipse(0,6,3,2,270,-270),
                   /* center (x,y), a, b, start & end in degrees */
                   transparent = true,
                   color       = blue,
                   line_width  = 3,
                   ellipse(2.5,6,2,3,30,-90),
                   xrange      = [-3,6],
                   yrange      = [2,9] )$

  Package draw ·

グラフィックオブジェクト: errors ([x1, x2, …], [y1, y2, …])

  オプション`error_type`の値に依存して、 水平、垂直もしくは両方のエラーバーと共に点を描きます。

  2D

  もし`error_type = x`なら、 `errors`の引数は must be of the form 形式`[x, y, xdelta]`か`[x, y, xlow, xhigh]`でなければいけません。 もし`error_type = y`なら、 引数は形式`[x, y, ydelta]`か`[x, y, ylow, yhigh]`でなければいけません。 もし`error_type = xy`か`error_type = boxes`なら、 `errors`の引数は 形式`[x, y, xdelta, ydelta]`か`[x, y, xlow, xhigh, ylow, yhigh]`でなければいけません。

  `error_type`も参照してください。

  このオブジェクトは以下のグラフィックオブジェクトによって影響されます: `error_type`, `points_joined`, `line_width`, `key`, `line_type`, `color`, `fill_density`, `xaxis_secondary`, `yaxis_secondary`.

  オプション`fill_density`は、`error_type=boxes`の時だけ有効です。

  例:

  水平エラーバー。

      (%i1) load("draw")$
      (%i2) draw2d(
              error_type = y,
              errors([[1,2,1], [3,5,3], [10,3,1], [17,6,2]]))$

  垂直および水平エラーバー。

      (%i1) load("draw")$
      (%i2) draw2d(
              error_type = xy,
              points_joined = true,
              color = blue,
              errors([[1,2,1,2], [3,5,2,1], [10,3,1,1], [17,6,1/2,2]]));

  Package draw ·

グラフィックオブジェクト: explicit (fcn,var,minval,maxval)
グラフィックオブジェクト: explicit (fcn,var1,minval1,maxval1,var2,minval2,maxval2)

  2Dおよび3Dにて陽関数を描画します。

  2D

  `explicit(fcn,var,minval,maxval)`は minvalからmaxvalまで値を取る変数varを伴う 陽関数fcnをプロットします。

  このオブジェクトは以下のgraphic optionsに影響されます: `nticks`, `adapt_depth`, `line_width`, `line_type`, `key`, `filled_func`, `fill_color`, `color`.

  例:

      (%i1) load("draw")$
      (%i2) draw2d(line_width = 3,
                   color      = blue,
                   explicit(x^2,x,-3,3) )$
      (%i3) draw2d(fill_color  = brown,
                   filled_func = true,
                   explicit(x^2,x,-3,3) )$

  3D

  `explicit(fcn, var1, minval1, maxval1, var2, minval2, maxval2)`は minval1から maxval1まで値を取る変数 var1と minval2から maxval2まで値を取る変数 var2を伴う 陽関数 fcnをプロットします。

  このオブジェクトは以下のグラフィックオプションの影響を受けます: `xu_grid`, `yv_grid`, `line_type`, `line_width`, `key`, `enhanced3d`, `color`.

  例:

      (%i1) load("draw")$
      (%i2) draw3d(key   = "Gauss",
                   color = "#a02c00",
                   explicit(20*exp(-x^2-y^2)-10,x,-3,3,y,-3,3),
                   yv_grid     = 10,
                   color = blue,
                   key   = "Plane",
                   explicit(x+y,x,-5,5,y,-5,5),
                   surface_hide = true)$

  埋められた関数に関しては`filled_func`も参照してください。

  Package draw ·

グラフィックオブジェクト: image (im,x0,y0,width,height)

  2Dにてイメージを描写します。

  2D

  `image (im,x0,y0,width,height)`は 実平面上の 頂点`(x0,y0)`から`(x0+width,y0+height)`までの長方形領域に イメージimをプロットします。 引数imは実数の行列、長さ3のベクトルの行列もしくはpictureオブジェクトでなければいけません。

  もしimが実数の行列かlevels pictureオブジェクトなら、 ピクセル値は -36から+36に広がる成分を持つ長さ3のベクトルである グラフィックオプション`palette`に従って解釈されます; それぞれの値はレベルをそれぞれ赤、緑、青色にマップする公式のインデックスです。

       0: 0               1: 0.5           2: 1
       3: x               4: x^2           5: x^3
       6: x^4             7: sqrt(x)       8: sqrt(sqrt(x))
       9: sin(90x)       10: cos(90x)     11: |x-0.5|
      12: (2x-1)^2       13: sin(180x)    14: |cos(180x)|
      15: sin(360x)      16: cos(360x)    17: |sin(360x)|
      18: |cos(360x)|    19: |sin(720x)|  20: |cos(720x)|
      21: 3x             22: 3x-1         23: 3x-2
      24: |3x-1|         25: |3x-2|       26: (3x-1)/2
      27: (3x-2)/2       28: |(3x-1)/2|   29: |(3x-2)/2|
      30: x/0.32-0.78125                  31: 2*x-0.84
      32: 4x;1;-2x+1.84;x/0.08-11.5
      33: |2*x - 0.5|    34: 2*x          35: 2*x - 0.5
      36: 2*x - 1

  負の数は負の色成分を意味します。

  `palette = gray`と`palette = color`は それぞれ、 `palette = [3,3,3]`と`palette = [7,5,15]`へのショートカットです。

  もしimが長さ3のベクトルの行列かrgb pictureオブジェクトなら、 それらは赤、緑、青の色成分として解釈されます。

  例:

  もしimが実数の行列なら、ピクセル値は グラフィックオプション`palette`に従って解釈されます。

      (%i1) load("draw")$
      (%i2) im: apply(
                 'matrix,
                  makelist(makelist(random(200),i,1,30),i,1,30))$
      (%i3) /* palette = color, default */
            draw2d(image(im,0,0,30,30))$
      (%i4) draw2d(palette = gray, image(im,0,0,30,30))$
      (%i5) draw2d(palette = [15,20,-4],
                   colorbox=false,
                   image(im,0,0,30,30))$

  `colorbox`も参照してください。

  もしimが長さ3のベクトルの行列なら、 それらは赤、緑、青の色成分として解釈されます。

      (%i1) load("draw")$
      (%i2) im: apply(
                  'matrix,
                   makelist(
                     makelist([random(300),
                               random(300),
                               random(300)],i,1,30),i,1,30))$
      (%i3) draw2d(image(im,0,0,30,30))$

  パッケージ`draw`は自動的にパッケージ`picture`をロードします。 この例では、レベルピクチャオブジェクトは手動で組み立てられ、描画されます。

      (%i1) load("draw")$
      (%i2) im: make_level_picture([45,87,2,134,204,16],3,2);
      (%o2)       picture(level, 3, 2, {Array:  #(45 87 2 134 204 16)})
      (%i3) /* default color palette */
            draw2d(image(im,0,0,30,30))$
      (%i4) /* gray palette */
            draw2d(palette = gray,
                   image(im,0,0,30,30))$

  xpmファイルが読み込まれ、描写されます。

      (%i1) load("draw")$
      (%i2) im: read_xpm("myfile.xpm")$
      (%i3) draw2d(image(im,0,0,10,7))$

  `make_level_picture`, `make_rgb_picture`, `read_xpm`も参照してください。

  http://www.telefonica.net/web2/biomates/maxima/gpdraw/image
  には更に丹念な例があります。

  Package draw ·

グラフィックオブジェクト: implicit (fcn,x,xmin,xmax,y,ymin,ymax)
グラフィックオブジェクト: implicit (fcn,x,xmin,xmax,y,ymin,ymax,z,zmin,zmax)

  2Dおよび3Dにて陰関数を描画します。

  2D

  `implicit(fcn,x,xmin,xmax,y,ymin,ymax)`は xminからxmaxまでの値を取る変数xと yminからymaxまでの値を取る変数yを伴う fcnで定義された陰関数をプロットします。

  このオブジェクトは以下のグラフィックオプションの影響を受けます: `ip_grid`, `ip_grid_in`, `line_width`, `line_type`, `key`, `color`.

  例:

      (%i1) load("draw")$
      (%i2) draw2d(terminal  = eps,
                   grid      = true,
                   line_type = solid,
                   key       = "y^2=x^3-2*x+1",
                   implicit(y^2=x^3-2*x+1, x, -4,4, y, -4,4),
                   line_type = dots,
                   key       = "x^3+y^3 = 3*x*y^2-x-1",
                   implicit(x^3+y^3 = 3*x*y^2-x-1, x,-4,4, y,-4,4),
                   title     = "Two implicit functions" )$

  3D

  `implicit (fcn,x,xmin,xmax, y,ymin,ymax, z,zmin,zmax)`は xminからxmaxまでの値を取る変数xと yminからymaxまでの値を取る変数yと zminからzmaxまでの値を取る変数zを伴う fcnで定義された陰表面をプロットします。 このオブジェクトはマーチングキューブアルゴリズムを実装します。

  このオブジェクトは以下のグラフィックオプションの影響を受けます: `x_voxel`, `y_voxel`, `z_voxel`, `line_width`, `line_type`, `key` , `color`.

  例:

      (%i1) load("draw")$
      (%i2) draw3d(
              color=blue,
              implicit((x^2+y^2+z^2-1)*(x^2+(y-1.5)^2+z^2-0.5)=0.015,
                       x,-1,1,y,-1.2,2.3,z,-1,1),
              surface_hide=true);

  Package draw ·

グラフィックオブジェクト: label ([string,x,y],...)
グラフィックオブジェクト: label ([string,x,y,z],...)

  2Dと3D内でラベルを書きます。

  色付けられたラベルはGnuplot 4.3でだけ機能します。 これはパッケージ`draw`に関して既知のバグです。

  このオブジェクトは以下のグラフィックオプションの影響を受けます: `label_alignment`, `label_orientation`, `color`.

  2D

  `label([string,x,y])`は 点`[x,y]`にstringを書きます。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(yrange = [0.1,1.4],
                   color = "red",
                   label(["Label in red",0,0.3]),
                   color = "#0000ff",
                   label(["Label in blue",0,0.6]),
                   color = "light-blue",
                   label(["Label in light-blue",0,0.9],
                         ["Another light-blue",0,1.2])  )$

  3D

  `label([string,x,y,z])`は、 点`[x,y,z]`にstringを書きます。

  例:

      (%i1) load("draw")$
      (%i2) draw3d(explicit(exp(sin(x)+cos(x^2)),x,-3,3,y,-3,3),
                   color = red,
                   label(["UP 1",-2,0,3], ["UP 2",1.5,0,4]),
                   color = blue,
                   label(["DOWN 1",2,0,-3]) )$

  Package draw ·

グラフィックオブジェクト: mesh (mat,x0,y0,width,height)

  3D空間内に行列matを描画します。 z値はmatから取られます。 横座標範囲はx0からx0 + widthまでを取り、 座標はy0からy0 + heightまでを取ります。

  このオブジェクトは以下のグラフィックオプションの影響を受けます: `line_type`, `line_width`, `key`, `enhanced3d`, `color`.

  このグラフィックオブジェクトは `true`と`false`以外の値の`enhanced3d`値を無視します。

  例:

      (%i1) load("draw")$
      (%i2) m: apply(
                  matrix,
                  makelist(makelist(random(10.0),k,1,30),i,1,20)) $
      (%i3) draw3d(
               color = blue,
               mesh(m,0,0,3,2),
               xlabel = "x",
               ylabel = "y",
               surface_hide = true);

  Package draw ·

グラフィックオブジェクト: parametric (xfun,yfun,par,parmin,parmax)
グラフィックオブジェクト: parametric (xfun,yfun,zfun,par,parmin,parmax)

  2Dおよび3Dにてパラメトリック関数を描画します。

  このオブジェクトは以下のグラフィックオプションの影響を受けます: `nticks`, `line_width`, `line_type`, `key`, `color` and `enhanced3d`.

  2D

  コマンド `parametric(xfun, yfun, par, parmin, parmax)`は parminからparmaxまで値を取るパラメータparを伴う パラメトリック関数`[xfun, yfun]`をプロットします。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(explicit(exp(x),x,-1,3),
                   color = red,
                   key   = "This is the parametric one!!",
                   parametric(2*cos(rrr),rrr^2,rrr,0,2*%pi))$

  3D

  `parametric (xfun, yfun, zfun, par, parmin, parmax)`は parminからparmaxまで値を取るパラメータparを伴う パラメトリック曲線 `[xfun, yfun, zfun]`をプロットします。

  例:

      (%i1) load("draw")$
      (%i2) draw3d(explicit(exp(sin(x)+cos(x^2)),x,-3,3,y,-3,3),
                   color = royalblue,
                   parametric(cos(5*u)^2,sin(7*u),u-2,u,0,2),
                   color      = turquoise,
                   line_width = 2,
                   parametric(t^2,sin(t),2+t,t,0,2),
                   surface_hide = true,
                   title = "Surface & curves" )$

  Package draw ·

グラフィックオブジェクト: parametric_surface (xfun, yfun, zfun, par1, par1min, par1max, par2, par2min, par2max)

  3Dにおいてパラメトリックな表面を描画します。

  3D

  コマンド `parametric_surface (xfun, yfun, zfun, par1, par1min, par1max, par2, par2min, par2max)`は par1minから par1maxまでを値として取るパラメータ par1と par2minから par2maxまでを値として取るパラメータ par2を伴う パラメトリックな表面 `[xfun, yfun, zfun]`を プロットします。

  このオブジェクトは以下のグラフィックオプションの影響を受けます: `xu_grid`, `yv_grid`, `line_type`, `line_width`, `key`, `enhanced3d`, `color`.

  例:

      (%i1) load("draw")$
      (%i2) draw3d(title          = "Sea shell",
                   xu_grid        = 100,
                   yv_grid        = 25,
                   view           = [100,20],
                   surface_hide   = true,
                   parametric_surface(0.5*u*cos(u)*(cos(v)+1),
                                 0.5*u*sin(u)*(cos(v)+1),
                                 u*sin(v) - ((u+3)/8*%pi)^2 - 20,
                                 u, 0, 13*%pi, v, -%pi, %pi) )$

  Package draw ·

グラフィックオブジェクト: points ([[x1,y1], [x2,y2],...])
グラフィックオブジェクト: points ([x1,x2,...], [y1,y2,...])
グラフィックオブジェクト: points ([y1,y2,...])
グラフィックオブジェクト: points ([[x1,y1,z1], [x2,y2,z2],...])
グラフィックオブジェクト: points ([x1,x2,...], [y1,y2,...], [z1,z2,...])
グラフィックオブジェクト: points (matrix)
グラフィックオブジェクト: points (1d_y_array)
グラフィックオブジェクト: points (1d_x_array, 1d_y_array)
グラフィックオブジェクト: points (1d_x_array, 1d_y_array, 1d_z_array)
グラフィックオブジェクト: points (2d_xy_array)
グラフィックオブジェクト: points (2d_xyz_array)

  2Dや3Dの中で点を描画します。

  このオブジェクトは以下のグラフィックオプションの影響を受けます: `point_size`, `point_type`, `points_joined`, `line_width`, `key`, `line_type`, `color`. 3Dモードでは、`enhanced3d`の影響も受けます。

  2D

  `points ([[x1,y1], [x2,y2],...])`や `points ([x1,x2,...], [y1,y2,...])`は 点`[x1,y1]`, `[x2,y2]`,などをプロットします。 もし横座標が与えられないなら、 それらは連続する正の整数に設定されます。 だから、 `points ([y1,y2,...])`は、点`[1,y1]`, `[2,y2]`などを描画します。 もしmatrixが2列または2行行列なら、 `points (matrix)`は関連した点を描画します。 もしmatrixが1列または1行行列なら、 横座標が自動的に割り当てられます。

  もし1d_y_arrayが数の1Dのlisp配列なら、 `points (1d_y_array)`は 横座標を連続する正の整数に設定してそれらをプロットします。 `points (1d_x_array, 1d_y_array)`は 引数として渡された2つの配列から取られた座標を持つ点をプロットします。 もし2d_xy_arrayが2列の2D配列なら、 `points (2d_xy_array)`は平面上に対応する点をプロットします。

  例:

  `points`への2種類の引数、ペアのリストと分離した座標の2つのリスト。

      (%i1) load("draw")$
      (%i2) draw2d(
              key = "Small points",
              points(makelist([random(20),random(50)],k,1,10)),
              point_type    = circle,
              point_size    = 3,
              points_joined = true,
              key           = "Great points",
              points(makelist(k,k,1,20),makelist(random(30),k,1,20)),
              point_type    = filled_down_triangle,
              key           = "Automatic abscissas",
              color         = red,
              points([2,12,8]))$

  衝撃を描画。

      (%i1) load("draw")$
      (%i2) draw2d(
              points_joined = impulses,
              line_width    = 2,
              color         = red,
              points(makelist([random(20),random(50)],k,1,10)))$

  座標の配列。

      (%i1) load("draw")$
      (%i2) a: make_array (flonum, 100) $
      (%i3) for i:0 thru 99 do a[i]: random(1.0) $
      (%i4) draw2d(points(a)) $

  分離した座標の2つの配列。

      (%i1) load("draw")$
      (%i2) x: make_array (flonum, 100) $
      (%i3) y: make_array (fixnum, 100) $
      (%i4) for i:0 thru 99 do (
              x[i]: float(i/100),
              y[i]: random(10) ) $
      (%i5) draw2d(points(x, y)) $

  2列2D配列。

      (%i1) load("draw")$
      (%i2) xy: make_array(flonum, 100, 2) $
      (%i3) for i:0 thru 99 do (
              xy[i, 0]: float(i/100),
              xy[i, 1]: random(10) ) $
      (%i4) draw2d(points(xy)) $

  関数`read_array`で埋められた配列の描画。

      (%i1) load("draw")$
      (%i2) a: make_array(flonum,100) $
      (%i3) read_array (file_search ("pidigits.data"), a) $
      (%i4) draw2d(points(a)) $

  3D

  `points([[x1, y1, z1], [x2, y2, z2], ...])` や `points([x1, x2, ...], [y1, y2, ...], [z1, z2, ...])`は 点`[x1, y1, z1]`, `[x2, y2, z2]`などをプロットします。 もし matrixが3列または3行行列なら、 `points (matrix)`は関連した点を描画します。

  引数がlisp配列の時、 `points (1d_x_array, 1d_y_array, 1d_z_array)`は 3つの1D配列から座標を取ります。 もし2d_xyz_arrayが3列または3行を持つ2D配列なら、 `points (2d_xyz_array)`は対応する点をプロットします。

  例:

  3次元のサンプル１つ、

      (%i1) load("draw")$
      (%i2) load ("numericalio")$
      (%i3) s2 : read_matrix (file_search ("wind.data"))$
      (%i4) draw3d(title = "Daily average wind speeds",
                   point_size = 2,
                   points(args(submatrix (s2, 4, 5))) )$

  3次元のサンプル２つ、

      (%i1) load("draw")$
      (%i2) load ("numericalio")$
      (%i3) s2 : read_matrix (file_search ("wind.data"))$
      (%i4) draw3d(
               title = "Daily average wind speeds. Two data sets",
               point_size = 2,
               key        = "Sample from stations 1, 2 and 3",
               points(args(submatrix (s2, 4, 5))),
               point_type = 4,
               key        = "Sample from stations 1, 4 and 5",
               points(args(submatrix (s2, 2, 3))) )$

  1次元配列、

      (%i1) load("draw")$
      (%i2) x: make_array (fixnum, 10) $
      (%i3) y: make_array (fixnum, 10) $
      (%i4) z: make_array (fixnum, 10) $
      (%i5) for i:0 thru 9 do (
              x[i]: random(10),
              y[i]: random(10),
              z[i]: random(10) ) $
      (%i6) draw3d(points(x,y,z)) $

  2次元色付け配列、

      (%i1) load("draw")$
      (%i2) xyz: make_array(fixnum, 10, 3) $
      (%i3) for i:0 thru 9 do (
              xyz[i, 0]: random(10),
              xyz[i, 1]: random(10),
              xyz[i, 2]: random(10) ) $
      (%i4) draw3d(
               enhanced3d = true,
               points_joined = true,
               points(xyz)) $

  ユーザーが陽に指定した色数。

      (%i1) load("draw")$
      (%i2) pts: makelist([t,t^2,cos(t)], t, 0, 15)$
      (%i3) col_num: makelist(k, k, 1, length(pts))$
      (%i4) draw3d(
              enhanced3d = ['part(col_num,k),k],
              point_size = 3,
              point_type = filled_circle,
              points(pts))$

  Package draw ·

グラフィックオブジェクト: polar (radius,ang,minang,maxang)

  極座標で定義された2D関数を描画します。

  2D

  `polar (radius,ang,minang,maxang)`は minangからmaxangまで値を取る変数angを伴う 極座標で定義された関数 `radius(ang)` をプロットします。

  このオブジェクトは以下のグラフィックオプションの影響を受けます: `nticks`, `line_width`, `line_type`, `key`, `color`.

  例:

      (%i1) load("draw")$
      (%i2) draw2d(user_preamble = "set grid polar",
                   nticks        = 200,
                   xrange        = [-5,5],
                   yrange        = [-5,5],
                   color         = blue,
                   line_width    = 3,
                   title         = "Hyperbolic Spiral",
                   polar(10/theta,theta,1,10*%pi) )$

  Package draw ·

グラフィックオブジェクト: polygon ([[x1, y1], [x2, y2], …])
グラフィックオブジェクト: polygon ([x1, x2, …], [y1, y2, …])

  2D内でポリゴンを描画します。

  2D

  コマンド `polygon ([[x1, y1], [x2, y2],...])`や `polygon ([x1, x2,...], [y1, y2,...])`は 頂点`[x1, y1]`, `[x2, y2]`などを持つポリゴンを 平面上にプロットします。

  このオブジェクトは以下の グラフィックオプションの影響を受けます: `transparent`, `fill_color`, `border`, `line_width`, `key`, `line_type`, `color`.

  例:

      (%i1) load("draw")$
      (%i2) draw2d(color      = "#e245f0",
                   line_width = 8,
                   polygon([[3,2],[7,2],[5,5]]),
                   border      = false,
                   fill_color  = yellow,
                   polygon([[5,2],[9,2],[7,5]]) )$

  Package draw ·

グラフィックオブジェクト: quadrilateral (point_1, point_2, point_3, point_4)

  四辺形を描画します。

  2D

  `quadrilateral ([x1, y1], [x2, y2], [x3, y3], [x4, y4])`は 頂点`[x1, y1]`, `[x2, y2]`, `[x3, y3]`, `[x4, y4]`を持つ四辺形を描画します。

  このオブジェクトは以下のグラフィックオプションの影響を受けます:
  `transparent`, `fill_color`, `border`, `line_width`, `key`, `xaxis_secondary`, `yaxis_secondary`, `line_type`, `transform`, `color`.

  例:

      (%i1) load("draw")$
      (%i2) draw2d(
              quadrilateral([1,1],[2,2],[3,-1],[2,-2]))$

  3D

  `quadrilateral([x1, y1, z1], [x2, y2, z2], [x3, y3, z3], [x4, y4, z4])`は 頂点`[x1, y1, z1]`, `[x2, y2, z2]`, `[x3, y3, z3]`, `[x4, y4, z4]`を持つ 四辺形を描画します。

  このオブジェクトは以下のグラフィックオプションの影響を受けます: `line_type`, `line_width`, `color`, `key`, `enhanced3d`, `transform`.

  Package draw ·

グラフィックオブジェクト: rectangle ([x1,y1], [x2,y2])

  2D内で長方形を描画します。

  2D

  `rectangle ([x1,y1], [x2,y2])`は、 対角頂点 `[x1,y1]`と`[x2,y2]` を持つ長方形を描画します。

  このオブジェクトは以下の グラフィックオプションの影響を受けます: `transparent`, `fill_color`, `border`, `line_width`, `key`, `line_type`, `color`.

  例:

      (%i1) load("draw")$
      (%i2) draw2d(fill_color  = red,
                   line_width  = 6,
                   line_type   = dots,
                   transparent = false,
                   fill_color  = blue,
                   rectangle([-2,-2],[8,-1]), /* opposite vertices */
                   transparent = true,
                   line_type   = solid,
                   line_width  = 1,
                   rectangle([9,4],[2,-1.5]),
                   xrange      = [-3,10],
                   yrange      = [-3,4.5] )$

  Package draw ·

グラフィックオブジェクト: region (expr,var1,minval1,maxval1,var2,minval2,maxval2)

  平面上に不等式で定義された領域を描画します。

  2D exprは不等式とブーリアン演算子`and`, `or`, `not`で形成された式です。 領域は [minval1, maxval1]と[minval2, maxval2]で 定義された長方形で区切られています。

  このオブジェクトは以下のグラフィックオプションの影響を受けます: `fill_color`, `key`, `x_voxel`, `y_voxel`.

  例:

      (%i1) load("draw")$
      (%i2) draw2d(
              x_voxel = 30,
              y_voxel = 30,
              region(x^2+y^2<1 and x^2+y^2 > 1/2,
                     x, -1.5, 1.5, y, -1.5, 1.5));

グラフィックオブジェクト: spherical (radius, azi, minazi, maxazi, zen, minzen, maxzen)

  球座標で定義された3D関数を描画します。

  3D

  `spherical(radius, azi, minazi, maxazi, zen, minzen, maxzen)`は minaziから maxaziまで値を取る 方位角 aziと minzenから maxzenまで値を取る 天頂角 zenを伴う 球座標で定義された関数 `radius(azi, zen)` を描画します。

  このオブジェクトは以下のグラフィックオプションの影響を受けます: `xu_grid`, `yv_grid`, `line_type`, `key`, `color`.

  例:

      (%i1) load("draw")$
      (%i2) draw3d(spherical(1,a,0,2*%pi,z,0,%pi))$

  Package draw ·

グラフィックオブジェクト: triangle (point_1, point_2, point_3)

  三角形を描画します。

  2D

  `triangle ([x1,y1], [x2,y2], [x3,y3])`は、頂点`[x1,y1]`, `[x2,y2]`, `[x3,y3]`を持つ三角形を描画します。

  このオブジェクトは、 以下のグラフィックオプションに影響されます:
  `transparent`, `fill_color`, `border`, `line_width`, `key`, `xaxis_secondary`, `yaxis_secondary`, `line_type`, `transform`, `color`.

  例:

      (%i1) load("draw")$
      (%i2) draw2d(
              triangle([1,1],[2,2],[3,-1]))$

  3D

  `triangle ([x1,y1,z1], [x2,y2,z2], [x3,y3,z3])`は 頂点`[x1,y1,z1]`, `[x2,y2,z2]`, `[x3,y3,z3]`を持つ三角形を描画します。

  このオブジェクトは以下のグラフィックオプションに影響されます: `line_type`, `line_width`, `color`, `key`, `enhanced3d`, `transform`.

  Package draw ·

グラフィックオブジェクト: tube (xfun,yfun,zfun,rfun,p,pmin,pmax)

  3Dにおいて 径が変化する管を描画します。

  3D

  `[xfun,yfun,zfun]`は pminからpmaxまで値を取るパラメータpを伴う パラメトリックな曲線です。 パラメトリックな曲線上に中心を持ち、曲線と垂直な半径rfunの円が置かれます。

  このオブジェクトは以下のグラフィックオプションの影響を受けます: `xu_grid`, `yv_grid`, `line_type`, `line_width`, `key`, `enhanced3d`, `color`, `tube_extremes`.

  例:

      (%i1) load("draw")$
      (%i2) draw3d(
              enhanced3d = true,
              xu_grid = 50,
              tube(cos(a), a, 0, cos(a/10)^2,
                   a, 0, 4*%pi) )$

  Package draw ·

グラフィックオブジェクト: vector ([x,y], [dx,dy])
グラフィックオブジェクト: vector ([x,y,z], [dx,dy,dz])

  2Dおよび3D内でベクトルを描画します。

  このオブジェクトは以下のグラフィックオプションの影響を受けます: `head_both`, `head_length`, `head_angle`, `head_type`, `line_width`, `line_type`, `key`, `color`.

  2D

  `vector([x,y], [dx,dy])`は `[x,y]`を原点とするベクトル`[dx,dy]`を プロットします。

  例:

      (%i1) load("draw")$
      (%i2) draw2d(xrange      = [0,12],
                   yrange      = [0,10],
                   head_length = 1,
                   vector([0,1],[5,5]), /* default type */
                   head_type = 'empty,
                   vector([3,1],[5,5]),
                   head_both = true,
                   head_type = 'nofilled,
                   line_type = dots,
                   vector([6,1],[5,5]))$

  3D

  `vector([x,y,z], [dx,dy,dz])`は `[x,y,z]`を原点とする ベクトル`[dx,dy,dz]`をプロットします。

  例:

      (%i1) load("draw")$
      (%i2) draw3d(color = cyan,
                   vector([0,0,0],[1,1,1]/sqrt(3)),
                   vector([0,0,0],[1,-1,0]/sqrt(2)),
                   vector([0,0,0],[1,1,-2]/sqrt(6)) )$

  Package draw ·

Next: Functions and Variables for pictures, Previous: Introduction to draw, Up: draw [Contents][Index]