# polyline_properties

Polylineエンティティプロパティの説明

## 説明

Polylineエンティティはグラフィックエンティティ階層の葉です. このエンティティは ポリラインのパラメータを定義します.

parent:

  このフィールドには親のハンドルが含まれます. polylineエンティティの親は`"Axes"` 型または `"Compound"`型です.

children:

  このプロパティにはこのハンドルの`children` のベクトルが含まれます. しかし,現在,polylineには`children`がありません.

visible:

  このフィールドはこのエンティティの`visible` プロパティの値を有します. 値は`"on"` または `"off"`となります. デフォルトで polyline は可視であり,プロパティの値は `"on"` となります. `"off"` の場合, このポリラインは画面に描画されません.

data:

  このフィールドはxおよびy座標の値を有します. 3次元軸の場合にはZ要素が追加されます. この値は,各点の座標を含む2(3)列の行列`[x,y,[z]]`です.

closed:

  このフィールドはポリラインが閉じているかどうかを定義します: 値は `"on"` または `"off"`となります (デフォルト値はなく,ポリラインを作成する際に使用されたプリミティブに 依存します).

line_mode:

  このフィールドはポリラインの`line_mode`プロパティの デフォルト値を有します. この値には `"on"` (線を描画 ) または `"off"` (線を描画しない)を指定します.

fill_mode:

  `polyline_style`フィールドが 5ではない場合, 曲線の 背景が`background` プロパティで定義した色で塗られます.

line_style:

  `line_style`プロパティの値は[0 8]の範囲の整数となります. 0と1は実線を意味し,その他の値は破線を意味します (getlinestyle参照).

thickness:

  このプロパティはピクセル単位で線幅を指定する正の実数です. 実際の表示幅は指定された幅を最も近い整数に丸めることで定義されます. 唯一の例外はベクトル単位のエキスポートで,この場合は全体の `thickness`の値が考慮されます.

arrow_size_factor:

  この整数によりポリラインに描かれる矢印の大きさを設定することができます. 実際の矢印の大きさは`thickness`とこのsize factorの 積となります.

polyline_style:

  このプロパティは以下の各種のポリライン描画モードを設定します:

  - 値が 0または1の場合,連続する2つの点の間に線が描画されます.

  - 値が2の場合,ポリラインは階段プロットとなります. 連続する2つの点は水平線の後に垂直線が続く線により結合されます.

  - 値が3の場合,ポリラインは棒グラフとなります. 指定された各(x,y)について, (x,y) から (x,0)に垂直線が引かれます.

  - 値が 4の場合,連続する2つの点の間に矢印が描かれます.

  - 値が5の場合,ポリラインは塗りつぶされます (パッチ).

  - 値が 6の場合,ポリラインはMatlabに似たbarオブジェクトとなります. プロパティ`bar_shift` および`bar_width` がその外観を規定します.

foreground:

  このフィールドにはポリラインを描画する際に使用される `foreground`プロパティのデフォルト値が含まれます. その値には(カレントのカラーマップに沿った)色インデックスを指定します.

background:

  このフィールドはポリラインの背景を塗りつぶす際に使用される色を有します. その値には(カレントのカラーマップに沿った)色インデックスを指定します.

interp_color_vector:

  このフィールドは, `interp_color_mode`プロパティが`"on"`に設定された 際にポリラインを塗る際に使用される色インデックスの ベクトルを有します. これは,各セグメントを塗る際に使用される カラーマップインデックスの間隔を定義します. 例えば,最初のセグメントは, インデックスがベクトルの最初の2つの要素の間にある各色により塗りつぶされます. これはポリラインが 3 または 4つの点で定義されている場合のみ適用可能です. このため,ベクトルの大きさはこの次元に一致している必要があります.

interp_color_mode:

  このフィールドはポリラインを塗る際に補間影モードを 使用するかどうかを定義します: この値は`"on"` または`"off"`となります. "on"に値を切り替える前に `interp_color_vector`を 定義する必要があります (上記参照).

mark_mode:

  このフィールドはポリラインの`mark_mode` プロパティのデフォルト値を有します. この値は`"on"` (マーカを描画 drawn) または `"off"` (マーカを描画しない)となります.

mark_style:

  `mark_style`プロパティの値は `mark_mode`プロパティが`"on"`の場合に, 使用するマーカの種類を選択するために使用されます. この値は[0 14]の範囲の整数で,それぞれ以下の意味があります : ドット,プラス,十字,星,塗りつぶした菱形, 上向き三角形, 下向き三角形, 菱形プラス,円,アスタリスク, 正方形,右向き三角形,左向き三角形およびペンタグラム. 以下の図は,マーカのアスペクトが`mark_style`, `mark_foreground` および `mark_background`プロパティに依存する ことを示します.

mark_size_unit:

  このフィールは`mark_size_unit`プロパティのデフォルト値 を有します.`mark_size_unit`が`"point"` に設定された場合,`mark_size`の値はポイント単位で直接 指定されます. `mark_size_unit` に`"tabulated"`が 指定された場合,`mark_size`はfont size配列に相対的に 計算されます: この場合,この値は, 8pt, 10pt, 12pt, 14pt, 18pt および 24pt を意味する [0 5]の範囲の整数とします. xrectおよび Scilabのネーティブ関数は `tabulated`モードをデフォルトとします; plot関数を使用する場合, `point` モードが自動的に有効となります.

mark_size:

  `mark_size`プロパティは, `mark_mode`プロパティが`"on"`の時, マーカの大きさを選択するために使用されます. この値は, 8pt, 10pt, 12pt, 14pt, 18pt および 24pt を意味する [0 5]の範囲の整数です.

mark_foreground:

  このフィールドは,マーカの縁の色である`mark_foreground` プロパティの値を有します.この値は(カレントのcolor_mapに関連する)色インデックス または透過エッジを意味する 0 とします.

mark_background:

  このフィールドは,マーカの前景色である `mark_background`プロパティの値を有します. この値は(カレントのcolor_mapに関連する)色インデックス または透過エッジを意味する 0 とします.

x_shift:

  このフィールドは関数barをコールする ことにより計算される (またはbarhomogenizeを コールすることにより再計算される)オフセットを有し, 見栄えの良い垂直棒グラフを作成するために使用されます. このオフセットは他の`polyline_style`にも 適用されることに注意してください. 単位はユーザ座標で表されます.

y_shift:

  このフィールドは関数barをコールする ことにより計算される (またはbarhomogenizeを コールすることにより再計算される)オフセットを有し, 見栄えの良い水平棒グラフを作成するために使用されます. このオフセットは他の`polyline_style`にも 適用されることに注意してください. 単位はユーザ座標で表されます.

z_shift:

  このフィールドはユーザが指定する オフセットを有します このオフセットは他の`polyline_style`にも 適用されることに注意してください. このユニットはユーザ座標で表されています.

bar_width:

  このフィールドは, `polyline_style` が棒グラフモード (ケース 6)に せていされている場合に, 選択されたポリラインの幅を定義します: 単位はユーザ座標で表されます.

clip_state:

  このフィールドはポリラインの`clip_state`プロパティの 値を有します. 値は以下となります:

  - `"off"` ポリラインはクリップされません.

  - `"clipgrf"` ポリラインはAxesボックスの外側でクリップ されます.

  - `"on"`ポリラインはclip_boxプロパティで 指定された矩形の外側でクリップされます.

clip_box:

  このフィールドは`clip_box`プロパティを定義します. clip_state が "off" の場合, デフォルトで,この値は空の行列です. その他の場合, ベクトル`[x,y,w,h]` (左上の点 幅 高さ) は表示するポリラインの部分を定義しますが, `clip_state`プロパティの値が変更されます.

user_data:

  このフィールドはpolylineデータ構造体に任意のScilab変数を 保存し,再度取得する際に使用できます.

## 例

a=get("current_axes") a.data_bounds=[-2,-2;2,2];

xpoly(sin(2*%pi*(0:5)/5),cos(2*%pi*(0:5)/5),"lines",0) p=get("hdl"); p.foreground=2; p.thickness=3; p.mark_style=9; d=p.data;d(1,:)=[0 0];p.data=d; a.rotation_angles=[0 45];

## 例

    a=get("current_axes")//新規に作成された軸のハンドルを取得
    a.data_bounds=[-2,-2;2,2];

    xpoly(sin(2*%pi*(0:5)/5),cos(2*%pi*(0:5)/5),"lines",0)
    p=get("hdl"); //カレントのエンティティ(ここではpolylineエンティティ)のハンドルを取得
    p.foreground=2;
    p.thickness=3;
    p.mark_style=9;
    d=p.data;d(1,:)=[0 0];p.data=d;
    a.rotation_angles=[0 45];

    p.data=[(-2:0.1:2)' sin((-2:0.1:2)*%pi)']
    p.mark_mode="off";
    p.polyline_style=3;
    p.line_style=4;

## 参照

- set
- get
- delete
- xpoly
- xfpoly
- xpolys
- xfpolys
- graphics_entities

## 履歴

5.4.0
line_style = 0 は廃止予定です.代わりに 1 を使用してください (両者は等価で,共に実線を意味します). Scilab 5.4.1以降,値0を使用すると エラーを発生します.