Spec-Zone.ru › Octave 6

15.3.1 Введение в структуры графики

Функции графики используют указатели, которые относятся к классу graphics_handle, для обращения к структурам данных, которые управляют визуальным отображением. Указатель графики может указывать на любой из ряда различных типов базовых объектов, а эти объекты и есть структуры данных графики. Примитивные типы графических объектов: figure, axes, line, text, patch, surface, text, image, и light.

Каждый из этих объектов имеет функцию с таким же именем, и каждая из этих функций возвращает указатель графики, указывающий на объект соответствующего типа. Кроме того, существуют несколько функций, которые работают с свойствами графических объектов и также возвращают указатели: функции plot и plot3 возвращают указатель, указывающий на объект типа линия, функция subplot возвращает указатель, указывающий на объект типа оси, функция fill возвращает указатель, указывающий на объект типа область, функции area, bar, barh, contour, contourf, contour3, surf, mesh, surfc, meshc, errorbar, quiver, quiver3, scatter, scatter3, stair, stem, stem3 каждая возвращает указатель на сложную структуру данных, как описано в Источник данных.

Графические объекты организованы в иерархии:

1. Корневой объект возвращается функцией groot (исторически эквивалентно указателю 0). Другими словами, get (groot) возвращает свойства корневого объекта.

2. Под корнем находятся объекты figure.

3. Под объектами figure находятся объекты axes или hggroup.

4. Под объектами axes находятся объекты line, text, patch, surface, image, и light.

Графические указатели могут быть отличимы от указателей функций (см. Указатели функций) с помощью функции ishghandle. ishghandle возвращает true, если ее аргумент является указателем графического объекта. Кроме того, объект фигуры или осей можно проверить с помощью isfigure или isaxes соответственно. Чтобы проверить конкретный тип графического указателя, например, объект области или линии, используйте isgraphics. Более специфичные функции проверки возвращают true только в том случае, если аргумент является графическим указателем и имеет правильный тип (фигура, оси, указанный тип объекта).

Команды get и set используются для получения и установки значений свойств графических объектов. Кроме того, команда get может использоваться для получения имен свойств.

Например, свойство "type" графического объекта, на который указывает графический указатель h, может быть отображено следующим образом:

get (h, "type")

Свойства и их текущие значения могут быть получены в виде структуры с помощью s = get (h), где h — это указатель графического объекта. Если необходимы только имена свойств и допустимые значения (только для свойств радио), можно использовать set (h).

Например:

h = figure ();
get (h, "type")
⇒ ans = figure
set (h)
⇒
        alphamap:
        beingdeleted:  [ {off} | on ]
        busyaction:  [ cancel | {queue} ]
        buttondownfcn:
        clipping:  [ off | {on} ]
        closerequestfcn:
        color:
        colormap:
        createfcn:
        currentaxes:
        deletefcn:
        dockcontrols:  [ {off} | on ]
        filename:
        graphicssmoothing:  [ off | {on} ]
        handlevisibility:  [ callback | off | {on} ]
        ...

Использование get и set подробно описано в get, set.

: res = isprop (obj, "prop")

Возвращает true, если prop является свойством объекта obj.

obj также может быть массивом объектов, в этом случае res будет логическим массивом, указывающим, обладает ли каждый указатель свойством prop.

Для построения графиков obj — это указатель на графический объект.

Примечание для программистов: в версиях Octave 6.X.X нет поддержки obj в качестве экземпляра класса (т. е. объекта classdef). Эта функциональность уже добавлена в ветке разработки, которая станет Octave 7.1.0.

См. также: get, set, ismethod, isobject.

© 1996–2022 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v6.4.0/Introduction-to-Graphics-Structures.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API