Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語

Please note that the recommended version of Scilab is 6.0.0. This page might be outdated.
See the recommended documentation of this function

Справка Scilab >> Графики > Графические объекты

Графические объекты

описание структур данных графических объектов

Описание

В Scilab'е графическое окно и рисование его содержимого представлены иерархическими объектами. Верхний уровень иерархии - это Figure ("Окно"). Каждое окно Figure определяет по меньшей мере одного потомка типа Axes ("оси"). Каждый объект осей Axes содержит набор листовых объектов, которые являются основными графическими объектами такими, как Polylines ("ломанные линии"), Rectangles ("прямоугольники"), Arcs ("дуги"), Segs ("сегменты"),... Он может также содержать составной тип Compound, который является рекурсивным набором объектов. Главный интерес графического режима заключается в том, чтобы сделать обмен свойствами проще. Этот графический режим обеспечивает набор графических функций высокого уровня (см. set, get), используемых для управления свойствами объектов, такими, как данные, координаты и масштабирование, цвет и вид без необходимости повторять команды инициализации графики.

Графические объекты связаны с переменными Scilab'а типа handle ("дескриптор"). Дескриптор - это уникальный идентификатор, который связан с каждым образцом созданного графического объекта. Используя этот дескриптор, можно добраться до свойств объекта через функции set и get. Дескрипторы также используются для манипулирования графическими объектами, чтобы двигать, копировать или удалять их.

Figure:

Объект графического окна Figure - это верхний уровень иерархии графических объектов. Этот объект определяет параметры собственно графического окна, а также значения по умолчанию параметров при создании потомков. Потомки графического окна являются объектами осей Axes.

Дескриптор текущего графического окна (графического окна, используемого для построения графиков) может быть получен с помощью get("current_figure") и он может быть установлен с помощью set("current_figure",h), где h - это или дескриптор графического окна, или figure_id. В последнем случае, если графическое окно ещё не существует, то оно будет создано.

См. подробности в свойствах графического окна.

Axes:

Объект осей The Axes - это второй уровень иерархии графических объектов. Этот объект определяет параметры для изменения координат и рисования осей, а также значений по умолчанию параметров для создания его потомков. См. подробности в свойствах осей. Дескриптор текущих осей Axes может быть получен с помощью get("current_axes").

Compound:

Составной объект Compound - это просто вектор потомков и с единственным свойством (свойство видимости). Он используется для склеивания набора объектов вместе.

См. функции glue, unglue и свойства составного объекта Compound .

Axis:

Объект оси Axis - это лист иерархии графических объектов. Этот объект определяет параметры для масштабирования и вида осей.

См. подробности в свойствах оси.

Polyline:

Объект ломаной линии Polyline - это лист иерархии графических объектов. Он определяет двумерные и трёхмерные ломаные линии и свойства рисования продолжения ломаных линий.

См. подробности в свойствах ломаных линий.

Arc:

Объект дуги Arc - это лист иерархии графических объектов. Этот объект определяет параметры эллипсов и части эллипсов.

См. подробности в свойствах дуги.

Rectangle:

Объект прямоугольника Rectangle - это лист иерархии графических объектов. Этот объект определяет параметры прямоугольников и залитых прямоугольников.

См. подробности в свойствах прямоугольника.

Surface:

Объект поверхности Surface - это лист иерархии графических объектов. У него есть подтипы Fac3d или Plot3d. Этот объект определяет параметры для графиков трёхмерной поверхности.

См. подробности в свойствах поверхности.

Fec:

Объект Fec - это лист иерархии графических объектов. Он представляет двумерные графики конечных элементов.

См. подробности в свойствах fec.

Grayplot:

Объект палитры серого Grayplot - это лист иерархии графических объектов. Он представляет двумерные графики поверхности с помощью цветов и изображений.

См. подробности в палитре серого.

Matplot:

Объект Matplot - это лист иерархии графических объектов. Он представляет двумерные графики с помощью матриц с целочисленными элементами.

См. подробности в свойствах Matplot'а.

Segs:

Объект сегментов Segs - это лист иерархии графических объектов. Этот объект определяет параметры для набора раскрашенных сегментов или раскрашенных стрелок.

См. подробности в свойствах сегментов.

Champ:

Объект фона Champ - это лист иерархии графических объектов. Этот объект определяет параметры двумерного векторного поля.

См. подробности в свойствах фона.

Text:

Объект текста Text - это лист иерархии графических объектов. Этот объект определяет параметры для рисования строк.

См. подробности в свойствах текста.

Label:

Объект подписи Label - это потомок графического объекта осей Axes. Этот объект определяет параметры подписей к осям x, y и z, а также названия, нарисованного в графическом окне.

См. подробности в свойствах объекта подписи Label.

Legend:

Объект легенды Legend - это лист иерархии графических объектов. Этот объект определяет параметры легенды, рисуемой ниже графиков plot2dx. Этот объект требует дальнейшей разработки.

См. подробности в свойствах объекта легенды Legend.

Примеры

// Проиграйте этот пример строчку за строчкой
scf() //создать графическое окно в объектном режиме
//получить дескриптор объекта Figure и распечатать его свойства
f=get("current_figure") 
a=f.children // дескриптор потомка - осей Axes
x=(1:10)';  plot2d(x,[x.^2 x.^1.5])
e=a.children //Составной объект Compound двух ломаных линий
p1=e.children(1) // свойства последней нарисованной ломаной линии
p1.foreground=5; // изменение цвета ломаной линии
e.children.thickness=5; // изменение толщины двух ломаных линий
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); //скопировать объект ломаной линии первого графика в новый объект осей Axes
a1.data_bounds=[1 0;10 100]; //изменить пределы осей Axes
set("current_figure",10) //создать новое графическое окно с figure_id=10
plot3d() // график посылается в графическое окно 10
set("current_figure",f) // создать предыдущее графическое окно текущим
plot2d(x,x^3)  // график посылается в первоначальное графическое окно

Смотрите также

  • 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.
  • редактор объектов — description of the graphic object editor capacities
  • plot — 2D plot
  • surf — 3D surface plot
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 02 14:01:08 CEST 2014