Возможна ли разработка приложения на Octave с GUI? |
Построение графиков
4.4.3 Свойства осей графика
Для получения всех свойств осей построенного с помощью предыдущего листингаграфика пользователь может ввести команду
В листинге 4.27 приведены свойства осей графика, представленного на рис. 4.34.
>>>ans = scalar structure containing the fields: beingdeleted = off busyaction = queue buttondownfcn = [ ] (0x0) children = -6.1976 clipping = on createfcn = [ ] (0x0) deletefcn = [ ] (0x0) handlevisibility = on hittest = on interruptible = on parent = 1 selected= off selectionhighlight = on tag = type = axes userdata = [ ] (0x0) visible = on __modified__ = on uicontextmenu = [ ] (0x0) position = 0.13000 0.11000 0.77500 0.81500 box = on key = off keybox = off keyreverse = off keypos = 1 colororder = 0.00000 0.00000 1.00000 0.00000 0.50000 0.00000 1.00000 0.00000 0.00000 0.00000 0.75000 0.75000 0.75000 0.00000 0.75000 0.75000 0.75000 0.00000 0.25000 0.25000 0.25000 dataaspectratio = 20 2 1 dataaspectratiomode = auto layer = bottom xlim = -10 10 ylim = -1 1 zlim = 0 1 clim = 0 1 alim = 0 1 xlimmode = auto ylimmode = auto zlimmode = auto climmode = auto alimmode = auto xlabel = -5.3352 ylabel = -4.7682 zlabel = -3.2778 title = -2.5540 xgrid = off ygrid = off zgrid = off xminorgrid = off yminorgrid = off zminorgrid = off xtick =-10 -5 0 5 10 ytick = -1.00000 -0.50000 0.00000 0.50000 1.00000 ztick = [ ] (0x0) xtickmode = auto ytickmode = auto ztickmode = auto xminortick = off yminortick = off zminortick = off xticklabel = yticklabel = zticklabel = xticklabelmode = auto yticklabelmode = auto zticklabelmode = auto interpreter = none color = 1 1 1 xcolor = 0 0 0 ycolor = 0 0 0 zcolor = 0 0 0 xscale = linear yscale = linear zscale = linear xdir = normal ydir = normal zdir = normal yaxislocation = left xaxislocation = bottom view = 0 90 nextplot = replace outerposition = 0 0 1 1 activepositionproperty = outerposition ambientlightcolor = 1 1 1 cameraposition = 0.00000 0.0000 9.16025 cameratarget = 0.00000 0.00000 0.50000 cameraupvector = -0 2 0 cameraviewangle = 6.6086 camerapositionmode = auto cameratargetmode = auto cameraupvectormode = auto cameraviewanglemode = auto currentpoint = 0 0 0 0 0 0 drawmode = normal fontangle = normal fontname = * fontsize = 12 fontunits = points fontweight = normal gridlinestyle = : linestyleorder = _ linewidth = 0.50000 minorgridlinestyle = : plotboxaspectratio =1 1 1 plotboxaspectratiomode = auto projection = orthographic tickdir = in tickdirmode = auto ticklength = 0.010000 0.025000 tightinset = 0 0 0 0 units = normalizedЛистинг 4.27. Свойства осей
Рассмотрим наиболее часто используемые свойства осей:
- — определяет, заключать оси в прямоугольную рамку (’on’ — значение по умолчанию) или нет (значение — ’off’);
- — определяет цвет фона графика, цвет задаётся в формате , где — яркость красного, зелёного и синего цветов соответственно, которая меняется от 0 до 1 (см. табл. 4.4) или один из предопределённых цветов.
- — позволит установить наклон шрифта разметки осей (’italic’) или не использовать наклон (’normal’ — значение по умолчанию);
- — определяет название шрифта, используемого при подписи осей (например, ’Arial’);
- — определяет размер шрифта в пунктах;
- — определяет насыщенность шрифта, наиболее часто используемые значения ’normal’ (по умолчанию) и ’bold’;
- — позволяет изменять стиль линий сетки, значения стиля линий подробно рассмотрены при описании функции ;
- — определяет толщину линий осей, значение по умолчанию равно 0.5;
- — видимость осей: ’on’ (значение по умолчанию) — оси видимы, ’off’ — оси невидимы;
- — определяет цвет соответствующей оси в формате ;
- — определяет направление соответствующей оси: нормальное ’normal’ (значение по умолчанию) или обратное ’reverse’;
- — определяет наличие (’on’) или отсутствие (’off’ — значение по умолчанию) сетки, перпендикулярной оси;
- — определяет расположение оси : сверху — ’top’ или снизу — ’bottom’ (значение по умолчанию);
- — определяет расположение оси : справа — ’right’ или слева — ’left’ (значение по умолчанию);
- — задают пределы изменения переменных и в виде массива из двух значений;
- и — определяют масштаб соответствующих осей: линейный ’linear’ (значение по умолчанию) или логарифмический ’log’;
- — векторы, определяющие координаты разметки соответствующих осей.
В листинге 4.28 представлены команды, изменяющие внешний вид осей графика, изображённого на рис. 4.34. График функции на интервале после их применения представлен на рис. 4.38.
Цвет | Цвет в формате RGB |
Чёрный | [0 0 0] |
Синий | [0 0 1] |
Тёмно-синий | [0 0 128/255] |
Зелёный | [0 1 0] |
Тёмно-зелёный | [0 128/255 0] |
Голубой | [0 1 1] |
Тёмно-голубой | [0 128/255 128/255] |
Красный | [1 0 0] |
Тёмно-красный | [128/255 0 0] |
Пурпурный | [1 0 1] |
Тёмно-пурпурный | [128/255 0 128/255] |
Жёлтый | [1 1 0] |
Тёмно-жёлтый | [128/255 128/255 0] |
Тёмно-серый | [128/255 128/255 128/255] |
Светло-серый | [192/255 192/255 192/255] |
Белый | [1 1 1] |
h=figure( ); t=-3*pi:pi/100:3*pi; x=sin(t); plot(t, x); set(gca, ’box’, ’off’); % Убираем прямоугольную сетку вокруг оси. set(gca, ’fontname’, ’Arial’); % Определяем шрифт. set(gca, ’fontsize’, 20); % Определяем размер шрифта 20. % Включаем линии сетки, перпендикулярные OX и OY. set(gca, ’xgrid’, ’on’); set(gca, ’ygrid’, ’on’); % Устанавливаем координаты линий сетки, перпендикулярной OX. set(gca, ’xtick’,[-3 -1 0 1 2 ]);Листинг 4.28. Изменение вида осей графика
Обращение к функции создания осей с определёнными свойствами имеет вид: ; С помощью функции можно также изменять свойства линий, которые формируется с помощью подробно рассмотренной ранее функции .
Рассмотрим наиболее часто используемые свойства линий:
- — определяет цвет текущей линии в формате RGB или с помощью предопределённого цвета;
- — устанавливает стиль линий;
- — определяет толщину линии в пунктах;
- — устанавливает тип маркера для изображения точек на графике.
- — определяет размер маркера в пунктах.
4.4.4 Удаление и очистка объектов
Для того, чтобы удалить объект в графическом окне, необходимо вызвать функцию , где — указатель на удаляемый объект (указатель на линию, оси и т.д.). Следует понимать, что удаление осей приведёт к исчезновению всех объектов, которые располагались на них.
Очистка текущих осей осуществляется функцией , очистка текущего окна — функцией .
Рассмотрим описанные возможности работы с окнами на нескольких примерах. Авторы рекомендуют читателю внимательно изучить примеры 4.23, 4.24, в которых собраны стандартные приёмы работы с окнами, линиями графиков, осями и их свойствами.