- Scilabヘルプ
- Graphics
- 2d_plot
- 3d_plot
- annotation
- axes_operations
- axis
- bar_histogram
- Color management
- Datatips
- figure_operations
- geometric_shapes
- handle
- interaction
- lighting
- load_save
- pie
- polygon
- property
- text
- transform
- window_control
- GlobalProperty
- Graphics: Getting started
- Compound_properties
- graphics_entities
- object_editor
- pixel_drawing_mode
- segs_properties
- twinkle
- xchange
- xclear
- xdel
- xget
- xgetech
- xgraduate
- xgrid
- xname
- xnumb
- xpause
- xsegs
- xset
- xsetech
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
graphics_entities
グラフィックスエンティティデータ構造体の説明
説明
Scilabでは,
グラフィックウインドウおよびそのウインドウに描画されたもの
は階層的なエンティティにより表されます.
最上位の階層は Figure
(図)です.
各 Figure
は,1個以上のAxes
型の子を定義します.
各Axes
エンティティは
Polylines
, Rectangles
,
Arcs
, Segs
,...のような
一連の葉(leaf)エンティティを有します.
エンティティの再帰的な集合のCompound
型を有することも可能です.
グラフィックモードの主要な関心事は,プロパティの変更をより簡単に
することです.このグラフィックモードは,
データ,座標やスケーリング,色や外観のようなオブジェクトのプロパティを
最初のグラフィックコマンドを再度実行することなく制御するために
複数の高レベルグラフ作成ルーチン
を提供します (set, get参照)
グラフィックエンティティはhandle
型のScilab変数に
対応します.
このハンドルは,
作成されたグラフィックエンティティの各インスタンスを示すユニークなIDです.
このハンドルを用いて,set
および get
ルーチンによりエンティティの
プロパティにアクセスすることができるようになります.
ハンドルはグラフィックオブジェクトを操作したり,移動したり,
コピーまたは削除する際にも使用されます.
- Figure:
Figure
エンティティは,グラフィックエンティティ階層の最上位です. このエンティティは図(figure)本体のパラメータを定義し, 同時に子を作成する際のデフォルト値も定義します. figureの子はAxes
エンティティです.カレントのfigure(描画指示が送信されるfigure)のハンドル は,
get("current_figure")
により取得でき,set("current_figure",h)
により設定できます. ただし,h
は figureのハンドルまたはfigure_id
のどちらかです. 後者について,その図がまだ作成されていない場合には,作成されます.詳細はfigure_properties を参照ください.
- Axes:
Axes
エンティティはグラフィックエンティティ階層の第二レベルです. このエンティティは座標系の変化に関するパラメータおよび 軸に描画されるものを定義し, 同時に,作成される子のデフォルトのパラメータを定義します. 詳細は,axes_propertiesを参照ください. カレントのAxes
のハンドルは,get("current_axes")
により取得できる可能性があります.- Compound:
Compound
エンティティは単なる子のベクトルで, プロパティを1つだけ(visibilityプロパティ)有しています. これは,一連のエンティティを集約するためのグルーとして 使用されます.glue, unglueおよび Compoundプロパティ 関数を 参照ください.
- Axis:
Axis
エンティティはグラフィックエンティティ階層の葉です. このエンティティは軸の目盛および外観に関するパラメータを定義します.詳細は,axisプロパティ を参照ください.
- Polyline:
Polyline
エンティティはグラフィックエンティティ階層の葉です. このエンティティは,2次元および3次元ポリラインおよび ポリラインの拡張描画プロパティを定義します.詳細は,polylineプロパティ を 参照ください.
- Arc:
Arc
エンティティはグラフィックエンティティ階層の葉です. このエンティティは楕円および楕円の一部を定義します.詳細はarcプロパティ を参照ください.
- Rectangle:
Rectangle
エンティティはグラフィックエンティティ階層の葉です. このエンティティは矩形および塗りつぶされた矩形のパラメータを 定義します.詳細はrectangleプロパティ を参照ください.
- Surface:
Surface
エンティティはグラフィックエンティティ階層の葉です. このエンティティはサブタイプFac3d
またはPlot3d
を有します. このエンティティは 3次元プロットのパラメータを定義します.詳細はsurfaceプロパティ を参照ください.
- Fec:
Fec
エンティティはグラフィックエンティティ階層の葉です. このエンティティは2次元有限要素プロットを表します.詳細は fecプロパティ を参照ください.
- Grayplot:
Grayplot
エンティティはグラフィックエンティティ階層の葉です. このエンティティは色および画像による曲面の二次元プロット表します.詳細は grayplotプロパティ を参照ください.
- Matplot:
Matplot
エンティティはグラフィックエンティティ階層の葉です. このエンティティは整数行列による二次元プロット表します.詳細は Matplotプロパティ を参照ください.
- Segs:
Segs
エンティティはグラフィックエンティティ階層の葉です. このエンティティは,一連の色付の線分または色付の矢印のパラメータを定義します.詳細は segsプロパティ を参照ください.
- Champ:
Champ
エンティティはグラフィックエンティティ階層の葉です. このエンティティは2次元ベクトルフィールドに関するパラメータを定義します.詳細は champプロパティ を参照ください.
- Text:
Text
エンティティはグラフィックエンティティ階層の葉です. このエンティティは文字列の描画に関するパラメータを定義します.詳細は textプロパティ を参照ください.
- Label:
Label
エンティティはAxes
グラフィックエンティティの 子です.このエンティティはグラフィックウィンドウに描画される x, y, z 軸のラベルとタイトルを定義します.詳細は Labelエンティティプロパティ を参照ください.
- Legend:
Legend
エンティティはグラフィックエンティティ階層の葉です. このエンティティは,plot2dx
グラフに描画される 凡例に関するパラメータを定義します. このエンティティはまだ開発中です.詳細は,Legendエンティティプロパティ を参照ください.
- Light:
Scilabにおける照明は, 光線と面の物性の間の相互作用により面の外観が対話的に指定されるように 実世界の照明を近似します. 実世界の照明を模擬することは複雑で計算負荷が高いため, 簡単化されたモデルが使用されます.
詳細は,lightエンティティプロパティを参照ください.
例
//この例を行単位で実行してください scf() //エンティティモードで図を作成 // Figureエンティティのハンドルを取得し,そのプロパティを表示 f=get("current_figure") a=f.children //Axisの子のハンドル x=(1:10)'; plot2d(x,[x.^2 x.^1.5]) e=a.children // 2つのポリラインからなるCompoun p1=e.children(1) //直近に描画されたポリラインのプロパティ p1.foreground=5; // ポリラインの色を変更 e.children.thickness=5; // 2つのポリラインの幅を変更 delete(e.children(2)) move(e.children,[0,30]) //ポリラインを変換 a.axes_bounds=[0 0 0.5 0.5]; subplot(222) //新たにAxesエンティティを作成 plot(1:10); a1=f.children(1); //ハンドルを取得 copy(e.children,a1); //最初のプロットのポリラインを新しい軸にコピー a1.data_bounds=[1 0;10 100]; //軸の範囲を変更 set("current_figure",10) //figure_id=10の新規図を作成 plot3d() //描画データは figure 10に送信される set("current_figure",f) //前の図をカレントの図にする plot2d(x,x^3) //描画データは最初の図に送信される
参照
Report an issue | ||
<< Compound_properties | Graphics | object_editor >> |