Scilab Data type graphics_entities - description of the
graphics entities data structures
Description
Scilab graphics is based on two differents modes. In the "old"
mode, the graphics functions are stored to enable redisplay, zoom and
rotations. Comparrement at the "new" mode, each graphics
window and the drawing it contains are represented by hierchical entities.
The hierachy to level is the Figure. Each Figure defines at least one
children 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 Agregation type
which are recursive sets of entities. The main interest of the new
graphic mode is to make property change easier. This new graphics'mode
provides a set of high-level graphing routines
(see set, get) used to control objects' properties
such us data, coordinates and scaling, color and appearences without requiring
to replay the initial graphics commands.
Graphics entities are associated to Scilab variables of type
handle. The handle is a 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.
To set the current graphics window mode we can use these following instructions:
set("figure_style","new") to have a graphics window under the "new" mode or
set("figure_style","old ") for the "old" mode.
The instructions
set("old_style","off") and
set("old_style","on") are used to set the
default mode to be used when a new graphics window is created.
The new graphics mode is a beta version. So the "old" mode is set as
default.
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 the Axes entities.
See figure_properties for details.
The handle on the current figure may be got using get("current_figure").
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 the children creation.
See axes_properties for details.
The handle on the current Axes may be got using get("current_axes").
Agregation
The agregation 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 and agregation_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 polylines and polylines extensions drawing
properties.
See polyline_properties for details.
Patch
The Patch entity is a leaf of the graphics entities
hierarchy. It defines filled polylines and its drawing
properties.
See patch_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 sub types Fac3d Plot3d . This entity is still under developpement
and will problably evolve a lot.
See surface_properties for details.
Param3d
The Param3d entity is a leaf of the graphics entities
hierarchy. It is a Surface sub type . This entity is still under developpement
and will problably evolve a lot.
See param3d_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.
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.
Title
The Title entity is a leaf of the graphics entities
hierarchy. This entity defines the parameters for a title drawn
on a graphics window.
See title_properties for details.
Legend
The Legend entity is a leaf of the graphics entities
hierarchy. This entity defines the parameters for legends drawn
below plot2dx graphs. This entity requires further
developments.
See legend_properties for details.
Examples
//Play this example line per line
set("figure_style","new") //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 //Agregation 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
See Also