Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Создание графических приложений в среде MATLAB ⇐ ПредыдущаяСтр 4 из 4
Создание и управление размерами графического окна Для создания графического окна служит команда figure. Будем рассматривать три графических объекта gcf – текущее графическое окно; gca – текущие оси; gco – текущий графический объект; Для работы с этими объектами в существуют две функции: get и set. Функция get предназначена для получения значений свойств, а функция set предназначена для установки новых значений. Простейший вид функции set set (указатель на объект, ’свойство’, ’значение’). Для получения свойств объекта необходимо ввести get (указатель на объект, ’свойство’).
Создадим графическое окно с указателем имени и установим требуемые размеры этого окна. HFig = figure Положение графического окна и его размеры определяется функцией Position get(gcf, 'Position') По умолчанию, ans = 232 246 560 420 в пикселях. Изменим left = 232; bottom = 258; width = 560; height = 260; set(gcf, 'Position', [left bottom width height], 'Color', 'w'); Создадим окно без меню команд set(gcf, 'Position', [left bottom width height], 'Color', 'w', 'MenuBar', 'none');
Для создания графического окна во весь экран выполним команды % Нахождение размеров экрана SCRsize =get(0, 'ScreenSize') left = SCRsize(1) bottom=SCRsize(2); width=SCRsize(3); % высота окна начинается с учетом ширины заголовка экрана height=SCRsize(4)-19; set(gcf, 'Position', [left bottom width height], 'Menu', 'none', 'Color', 'w') Если окон несколько, то команда figure(HFig) делает окно текущим. Пример. clear all HFig1 = figure; HFig2 = figure; left = 232; bottom = 258; width = 560; height = 260; set(HFig1, 'Position', [left bottom width height], 'Color', 'w'); figure(HFig2) % Нахождение размеров экрана SCRsize =get(0, 'ScreenSize') left = SCRsize(1) bottom=SCRsize(2); width=SCRsize(3); % высота окна начинается с учетом ширины заголовка экрана height=SCRsize(4)-19; set(gcf, 'Position', [left bottom width height], 'Menu', 'none', 'Color', 'w') Очистка текущего окна осуществляется командой clf. Свойства осей Построим графики двух функций. clear all HFig = figure; left = 232; bottom = 258; width = 560; height = 260; set(HFig, 'Position', [left bottom width height], 'Color', 'w'); x = -2*pi: pi/24: 2*pi; f = cos(x); g = sin(x); gr1 = plot(x, f); grid hold on gr2 = plot(x, g); Изменяем свойства осей %убираем прямоугольную сетку вокрух оси set(gca, 'Box', 'off') %определяеи название шрифта и размер шрифта set(gca, 'FontName', 'Times New Roman Cyr', 'FontSize', 10) %определяем пределы изменения осей set(gca, 'YLim', [-1.5 1.5], 'XLim', [-2*pi 2*pi]) xlabel('Ось {\itx} ') ylabel('Ось {\ity}') title('Графики функций sin({\itx}) и cos({\ity})', 'FontName', 'Courier') Можно осям давать имя, например hAxes1 = axes set(hAxes1,..) Очистка текущих осей осуществляется командой cla. Свойства графика set(gr1, 'Color', 'b', 'LineWidth', 2, 'LineStyle', '--'); set(gr2, 'Color', 'r', 'LineWidth', 2, 'LineStyle', '-.');
Добавим точки пересечения графиков:
X = [-7*pi/4 -3*pi/4 pi/4 5*pi/4] Y = [sin(-7*pi/4) sin(-3*pi/4) sin(pi/4) sin(5*pi/4)]
gr7 = line([X(2) X(4)], [Y(2) Y(4)]) set(gr7, 'Color', 'm', 'LineWidth', 1);
gr3 = line(X(1), Y(1)); set(gr3, 'Marker', 'v', 'MarkerFaceColor', 'm', 'MarkerEdgeColor', 'm', 'Markersize', 8) gr4 = line(X(2), Y(2)); set(gr4, 'Marker', 'o', 'MarkerFaceColor', 'w', 'MarkerEdgeColor', 'k', 'Markersize', 8) gr5 = line(X(3), Y(3)); set(gr5, 'Marker', 's', 'MarkerFaceColor', 'k', 'MarkerEdgeColor', 'k', 'Markersize', 8) gr6 = line(X(4), Y(4)); set(gr6, 'Marker', '^', 'MarkerFaceColor', 'g', 'MarkerEdgeColor', 'g', 'Markersize', 8)
gr7 = line([X(2) X(4)], [Y(2) Y(4)]) set(gr7, 'Color', 'm', 'LineWidth', 1);
|