Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
figure_properties
グラフィックエンティティプロパティの説明
説明
figureエンティティはグラフィックエンティティ階層の最上位です. このエンティティにはScilabグラフィックオブジェクトの表示に 関する多くの要素を制御するために設計された多くのプロパティが 含まれています. これらのプロパティは,図(figure)自体に関する情報を含むプロパティと, 子作成時のデフォルト値の設定に関連するプロパティの 2つのカテゴリに分けることができます.
- figure プロパティ:
- children:
このハンドルは図(figure)の子のベクトルを表します. 図の子は全て
"Axes"
であることに注意してください. また,(scf コマンドにより)図のエンティティを作成する際, 同時にAxes
エンティティも一つ作成されることも覚えておいてください.- figure_position:
このフィールドはスクリーン上でのグラフィックウインドウのピクセル単位の 位置を保持します. これはウインドウの左上隅の位置を定義するベクトル
[x,y]
です. 位置[0,0]
は画面の左上隅です.グラフィックウインドウの初期位置はデフォルトの figure エンティティ (gdf参照)により指定されます. 唯一の例外は, デフォルトの図の値
figure_position
が[-1,-1]
の場合です. この場合,グラフィックウインドウの初期位置はウインドウシステムにより自動的に 設定されます.- figure_size:
このプロパティは画面のグラフィックウインドウのピクセル単位の 大きさを制御します.この大きさはベクトル
[width,height]
です.- axes_size:
仮想グラフィックウインドウにおけるピクセル単位の大きさを 指定する際に使用されます. この大きさはベクトル
[width,height]
です. 仮想グラフィックウインドウは画面で実際に可視となる領域よりも 大きくなります. このプロパティは図が他の要素に結合されている場合には修正することができません.- auto_resize:
このプロパティはグラフィックウインドウの大きさの変更動作 を定義します. この値が
"on"
の場合,axes_size
プロパティはfigure_size
に等しくなり, 子である軸自動的に拡大・縮小されます. この値が"off"
の場合,figure_size
が変更された場合でもaxes_size
は変更されません.- viewport:
図の可視部分の位置.
- figure_name or name:
このフィールドは図の名称を保持します. この名称はグラフィックウインドウ上の最上部に表示される 文字列です. この名称には文字列
%d
を一つ含めることができ, この部分はfigure_id
で置換されます. その他の%
文字のインスタンスは名称の中で使用できません.- figure_id:
このフィールドは図のIDを保持します. これは図の生成時に設定される整数で,後で変更することはできません.
- color_map:
この図で使用されるカラーマップを定義するプロパティ. カラーマップは
m
行3
列の行列です.m
は色の数です.色番号 i はR
,G
,B
の3要素で 指定し,それぞれ, 0 から 1の間の赤,緑,青の輝度に対応します.- pixel_drawing_mode:
このフィールドは画面上のピクセルの描画で使用されるビット単位の処理を定義します. デフォルトのモードは
copy
です. 詳細については,ピクセル描画モード参照ページ を参照ください.- anti_aliasing:
このプロパティはグラフィックの品質を改善する際に使用される アンチエイリアス処理のレベルを制御します. このプロパティが "off" に設定された場合,アンチエイリアス処理は無効になります. アンチエイリアス処理を有効にするには,"2x", "4x", "8x"または "16x"のどれかを 指定することが必要です. この場合, この値はアンチエイリアスのレベルを意味します.例えば, 例えば, "16x" は "2x"よりも高い品質となります. より高いアンチエイリアスのレベルを指定することにより画像の品質は改善されますが, グラフィック性能は低下します.
- immediate_drawing:
このプロパティは図の表示を制御します. この値は
"on"
(デフォルトモード) または"off"
です. (複数の描画や再描画を適用することにより)グラフィックスコマンドが大量に連続する場合に, 表示を遅延させるために使用されます.drawlater
またはdrawnow
コマンドを 使用した場合, カレントの図のプロパティの値を変更することに注意してください (それぞれ,この値を'off'
または'on'
に変更します).- background:
このプロパティは図の背景を制御します. カレントのカラーマップに関連する添え字を値として指定します.
- event_handler
文字列. イベントを処理を受け持つScilab 関数の名前. 空の文字列を指定するとイベントハンドラが無効となることに注意してください. イベントハンドラに関する詳細は イベントハンドラ関数 ヘルプを 参照してください.
- event_handler_enable
イベントハンドラを有効または無効にします. 値は "on" または "off" のどちらかです.
- user_data:
このフィールドは図のデータ構造に何らかのScilab変数を保存したり, 取得したりするために使用することができます.
- tag:
このフィールドは一般に制御を識別するための文字列を保存するために使用できます. これにより"名前"を指定することが可能となります. 主にfindobj()との組み合わせで使用されます.
- resizefcn:
このフィールドは,このScilab関数名またはScilab式を文字列として保存する際に使用されます. この文字列は,ユーザが図をリサイズした際および図の作成時に評価されます.
- closerequestfcn:
このフィールドは,このScilab関数名またはScilab式を文字列として保存する際に使用されます. この文字列は,ユーザが図を右上の十字により図を閉じようとした際に評価されます.
このプロパティが設定された際, "figure closed" イベント (-1000) は イベントハンドラ関数でトラップされなくなります.
- resize:
このプロパティは図の大きさをロックします. 値は,
"on"
(デフォルト値) または"off"
(図は,マウスイベントによりリサイズできません)とします. Resizing the figure is always possible with.figure_size
.- menubar_visible:
このプロパティは図のメニューバーの可視性を制御します.値は,
"on"
(デフォルト値) または"off"
とします.- toolbar_visible:
このプロパティは図のツールバーの可視性を制御します.値は,
"on"
(デフォルト値) または"off"
とします.- infobar_visible:
このプロパティは図の図のステータスバーの可視性を制御します.値は,
"on"
(デフォルト値) または"off"
とします.- info_message:
この文字列はグラフィックウインドウの情報バーに表示されるテキストを指定します.
- visible:
図の
"dockable"
プロパティが"off"
の場合,"Visible"
プロパティを設定すると ウインドウの装飾を含む図全体に影響します.図の
"dockable"
プロパティが"on"
で, 図が同じ親ウインドウの他の図に結合されている場合, このフィールドは図の子にのみ作用します(以下の関連部分を参照). 図が他の図に結合されていない場合,"Visible"
プロパティは"dockable"
プロパティが"off"
に設定された場合と 同様に動作します.- layout:
このプロパティは図の子を並べる際に使用されるレイアウトを設定します. 利用可能なレイアウトに関する詳細については レイアウト のページを参照ください.
- layout_options:
このプロパティは図の子を並べる際に使用されるレイアウトのオプションを設定します. 利用可能なオプションに関する詳細については レイアウト のページを参照ください.
- icon:
このフィールドはScilab図のアイコンをカスタマイズする際に使用します.
この値は,アイコンを保持する画像ファイルへの 絶対またはScilabカレントのワーキングディレクトリへの 相対パスを有する文字列です.
- default_axes:
"on"
(default value) means that the figure has always a default axes: it is automatically set at the figure creation, or automatically reset when the last axes of the figure is intentionally deleted."off"
means that- the newly created figure has no default axes.
- for an existing figure, it is possible to actually delete all its existing axes.
- without any axes, the figure can't be the default target of any plotting instruction. This feature can be used to protect an interactive interface built in a figure (like the demos and the ATOMS ones) from being the default plotting target when there is no other proper opened graphical figures.
- It is still possible to force creating an axes using the newaxes function.
- 子のデフォルト値:
- visible:
このフィールドは, 図の内容が再描画されるかどうかを定義します. この値は
"on"
または"off"
となります.- rotation_style:
このフィールドは "3D Rot"(3次元回転) ボタンに関係します. デフォルトは,選択された3次元プロットのみが回転することを意味する
unary
となっています. この値は,全ての3次元プロットが回転することを意味するmultiple
とすることができます.
- 作成関連のプロパティ:
いくつかのプロパティは, figure 関数により作成時に設定でき,その後は読込み専用となります.
- dockable
このプロパティは作成されるウインドウがScilab環境の中で結合できるかどうかを定義します. この値が
"on"
の場合, ウインドウにユーザが結合/結合解除することを可能にするバーが追加されます. そうでない場合,ウインドウは通常のOSウインドウのようになります. この値は作成時にのみ指定できます.- menubar
{"figure"} | "none"
このプロパティは図のメニューバーの型を定義します. この値が
"none"
の場合, uimenu functionによりメニューが追加されるまで メニューバーが現れなくなります. そうでない場合,デフォルトの図メニューが作成されます. この値は作成時にのみ指定できます.- toolbar
{"figure"} | "none"
このプロパティは図のツールバーの型を定義します. この値が
"none"
の場合,ウインドウに ツールバーが現れなくなります. そうでない場合,デフォルトのツールバーが作成されます. この値は作成時にのみ指定できます.
- デフォルト値に関する注記 :
上記リストに提示した全てのプロパティとフィールドは, figureモデルに保存されたデフォルト値から継承されたものです これらのデフォルト値は,参照したり,変更したりすることができます. これを行うには,
get("default_figure")
コマンドを 使用してください.これにより,figureモデルのグラフィックウインドウが 取得できます. このコマンドにより特定のグラフィックウインドウが作成されるわけではない ことに注意してください. 次に作成される図はこのモデルから継承されます (下記の例2を参照).
例
lines(0) // 垂直ページングを無効に //例 1 f=get("current_figure") //カレント図のハンドルを取得 : //存在しない場合,図を作成,ハンドルを返す f.figure_position f.figure_size=[200,200] f.background=2 f.children // axesエンティティが既に存在することを確認 delete(f); f=gcf(); // マクロショートカット <=> f=get("current_figure") plot2d() // 画面には何も起こりません... //例 2 : default_figure 設定 df=get("default_figure") // デフォルト値を取得 (ショートカットは gdf() ) // デフォルトを変更... df.color_map=hotcolormap(128) df.background= 110 // 背景を黄色に設定 (既存のカラーマップ内の色添字を使用することに注意) scf(122); // 新規デフォルトで図番122の図を新規作成 plot2d() scf(214); t=-%pi:0.3:%pi; plot3d(t,t,sin(t)'*cos(t),35,45,'X@Y@Z',[15,2,4]);
参考
履歴
Version | Description |
5.5.0 |
|
5.4.0 | resizefcn & closerequestfcn プロパティが追加されました. |
Report an issue | ||
<< drawnow | figure_operations | gcf >> |