15.3.1 Введение в структуры графики
Функции графики используют указатели, которые относятся к классу graphics_handle, для обращения к структурам данных, которые управляют визуальным отображением. Указатель графики может указывать на любой из ряда различных типов базовых объектов, и эти объекты являются самими графическими структурами данных. Примитивные типы графических объектов: figure, axes, line, text, patch, surface, text, image, и light.
Каждый из этих объектов имеет функцию с таким же именем, и каждая из этих функций возвращает указатель графики, указывающий на объект соответствующего типа. Кроме того, существуют несколько функций, которые работают со свойствами графических объектов и также возвращают указатели: функции plot и plot3 возвращают указатель, указывающий на объект типа линия, функция subplot возвращает указатель, указывающий на объект типа оси, функция fill возвращает указатель, указывающий на объект типа patch, функции 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 соответственно. Для проверки на конкретный тип графического указателя, например, объекта patch или линии, используйте 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 является указателем на графический объект. В противном случае obj должен быть экземпляром класса.
© 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/v5.2.0/Introduction-to-Graphics-Structures.html