- Scilab Help
- Graphics
- 2d_plot
- 3d_plot
- annotation
- axes_operations
- axis
- bar_histogram
- Color management
- Datatips
- figure_operations
- geometric_shapes
- handle
- interaction
- lighting
- load_save
- polygon
- property
- text
- transform
- GlobalProperty
- Graphics: Getting started
- Compound properties
- Graphics Entities
- object editor
- pie
- Segments properties
- xchange
- xget
- xgetech
- xgraduate
- 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
description of the graphics entities data structures
Description
In Scilab, graphics window and the drawing it contains are
represented by hierarchical entities. The hierarchy top level is the
Figure
. Each Figure
defines at
least one child of type Axes
. Each
Axes
entity contains a set of leaf
entities which are the basic graphics objects like
Polylines
, Rectangles
,
Arcs
, Segs
,... It can also
contain an Compound
type which is recursive
set of entities. The main interest of the graphic mode is to make
property change easier. This graphics' mode provides a set of
high-level graphing routines (see set,
get) used to control objects' properties
such as data, coordinates and scaling, color and appearances without
requiring to replay the initial graphics commands.
Graphics entities are associated to Scilab variables of type
handle
. The handle is an unique identifier which
is associated to each instance of a created graphical entity. Using
this handle, it will be possible to reach entities' properties
through set
and get
routines. The handles are also used to manipulate graphics objects, to move them, to make copies or delete them.
- Figure:
The
Figure
entity is the top level of the graphics entities hierarchy. This entity defines the parameters for the figure itself as well as the parameters' default values for the children creation. The figure children are theAxes
entities.The handle on the current figure (the figure used where the drawing are sent) may be got using
get("current_figure")
and it may be set usingset("current_figure",h)
, whereh
is either a handle on a figure or afigure_id
. In this last case if the figure does not already exists, it is created.See figure properties for details.
- Axes:
The
Axes
entity is the second level of the graphics entities hierarchy. This entity defines the parameters for the change of coordinates and the axes drawing as well as the parameters' default values for its children creation. See axes properties for details. The handle on the currentAxes
may be got usingget("current_axes")
.- Compound:
The
Compound
entity is just a vector of children and with a single property (visibility property). It is used to glue a set of entities together.See glue, unglue and Compound properties functions.
- Axis:
The
Axis
entity is a leaf of the graphics entities hierarchy. This entity defines the parameters for axis scaling and appearance.See axis properties for details.
- Polyline:
The
Polyline
entity is a leaf of the graphics entities hierarchy. It defines 2D and 3D polylines and polylines extensions drawing properties.See polyline properties for details.
- Arc:
The
Arc
entity is a leaf of the graphics entities hierarchy. This entity defines the parameters for ellipses and part of ellipses.See arc properties for details.
- Rectangle:
The
Rectangle
entity is a leaf of the graphics entities hierarchy. This entity defines the parameters for rectangles and filled rectangles.See rectangle properties for details.
- Surface:
The
Surface
entity is a leaf of the graphics entities hierarchy. It has subtypesFac3d
orPlot3d
. This entity defines the parameters for 3d surface plots.See surface properties for details.
- Fec:
The
Fec
entity is a leaf of the graphics entities hierarchy. It represents 2D finite elements plots.See fec properties for details.
- Grayplot:
The
Grayplot
entity is a leaf of the graphics entities hierarchy. It represents 2D plots of surface using colors and images.See grayplot properties for details.
- Matplot:
The
Matplot
entity is a leaf of the graphics entities hierarchy. It represents 2D plots using integer matrices.See Matplot properties for details.
- Segs:
The
Segs
entity is a leaf of the graphics entities hierarchy. This entity defines the parameters for a set of colored segments or colored arrows.See segs properties for details.
- Champ:
The
Champ
entity is a leaf of the graphics entities hierarchy. This entity defines the parameters for a 2D vector field.See champ properties for details.
- Text:
The
Text
entity is a leaf of the graphics entities hierarchy. This entity defines the parameters for string drawing.See text properties for details.
- Label:
The
Label
entity is a child of theAxes
graphics entity. This entity defines the parameters for the 3 x, y and z labels and title drawn on a graphics window.See Label entity properties for details.
- Legend:
The
Legend
entity is a leaf of the graphics entities hierarchy. This entity defines the parameters for legends drawn belowplot2dx
graphs. This entity requires further developments.See Legend entity properties for details.
- Light:
Lights in scilab approximates real world lighting where the appearance of a surface is given by interactions between light rays and the material properties of the surface. Because simulate real world lighting is complex and computationally expensive, one uses a simplified model.
See light entity properties for details.
Examples
//Play this example line per line scf() //create a figure in entity mode //get the handle on the Figure entity and display its properties f=get("current_figure") a=f.children // the handle on the Axes child x=(1:10)'; plot2d(x,[x.^2 x.^1.5]) e=a.children //Compound of 2 polylines p1=e.children(1) //the last drawn polyline properties p1.foreground=5; // change the polyline color e.children.thickness=5; // change the thickness of the two polylines delete(e.children(2)) move(e.children,[0,30]) //translate the polyline a.axes_bounds=[0 0 0.5 0.5]; subplot(222) //create a new Axes entity plot(1:10); a1=f.children(1); //get its handle copy(e.children,a1); //copy the polyline of the first plot in the new Axes a1.data_bounds=[1 0;10 100]; //change the Axes bounds set("current_figure",10) //create a new figure with figure_id=10 plot3d() //the drawing are sent to figure 10 set("current_figure",f) //make the previous figure the current one plot2d(x,x^3) //the drawing are sent to the initial figure
See also
- set — set a property value of a graphic entity object or of a User Interface object.
- get — Retrieve a property value from a graphics entity or an User Interface object.
- move — move, translate, a graphic entity and its children.
- delete — delete a graphic entity and its children.
- object editor — description of the graphic object editor capacities
- plot — 2D plot
- surf — 3D surface plot
Report an issue | ||
<< Compound properties | Graphics | object editor >> |