Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
menyu_edit.docx
Скачиваний:
11
Добавлен:
13.09.2019
Размер:
251.44 Кб
Скачать

7.4. Объект Line

Объекты типа Line создаются почти всеми функциями построения плоских и пространственных кривых (plot, semilogx, semilogy, loglog, plotyy, plot3), которые возвращают указатель на появляющуюся кривую. Еще один способ создания таких объектов предлагает функция line, допускающая несколько вариантов обращения:

h_Lin = line(X,Y); % построение плоской кривой

h_Lin = line(X,Y,Z); % построение пространственной кривой

h_Lin = line (X, Y, Z, 'свойство1’, значение1,…, ‘свойство2',значение2,...);

h_Lin = line ('свойство1', значение1, . . ., 'свойство2',значение2,...);

Для плоских кривых вектор х представляет собой набор значений независимой переменной, а вектор у — набор соответствующих значений функции у(х). Таким образом, каждая точка плоской кривой задается парой координат (xi, уi). В случае пространственной кривой каждая ее точка представлена тройкой координат (хi,yi,zi). Построение кривой происходит в области текущего объекта типа Axes, где каждая пара соседних точек соединяется отрезком прямой.

» x=0:0.1:2*pi;

» y=sin(x);

» h_lin=plot(x,y);

» get(h_lin)

По сравнению с предыдущими графическими объектами линия обладает совсем незначительным количеством свойств. Синусоида построена синим цветом (color=[0 0 1]). Этот цвет был выбран из последовательности цветов, заложенных в свойстве colorOrder объекта Axes. При построении следующего графика в поле тех же осей из списка ColorOrder будет выбран следующий цвет, и так до тех пор, пока не окажется исчерпанным весь список. Потом цикл повторится с самого начала.

Свойство EraseMode управляет режимом взаимодействия цвета пикселей создаваемой линии с цветом пикселей поля графика. Значение по умолчанию — normal — приводит к тому, что пиксели кривой вытесняют пиксели области рисования. Так строится нормальная кривая. Другими возможными значениями свойства EraseMode являются none (кривая не рисуется, воспроизводятся только маркеры), background (кривая прорисовывается цветом фона) и xor (цвета новых и старых пикселей взаимодействуют по операции "исключающее ИЛИ"). Повторное рисование кривой по себе же в режиме xor приводит к ее стиранию. При этом проявляется цвет пикселей области рисования, в который они были окрашены до предыдущего рисования.

График синусоиды построен сплошной линией (Linestyle=-). Когда график строится с помощью функции line(x,y,z) без указания стиля линии, то он выбирается автоматически из списка стилей, указанных в свойстве LinestyieOrder текущего объекта Axes (-,--, : , .: , none). Каждая новая линия строится своим стилем — по очередному значению в списке LineStyleOrder.

Толщиной линии управляет значение свойства LineWidth, которое задается в пунктах (1 пункт = 1/72 дюйма = 0,3528 мм).

Свойство Marker включает или отключает (попе) режим маркировки кривой. Размером маркеров управляет значение свойства MarkerSize, задаваемое в пунктах. Контуры маркера и его внутренняя область могут быть закрашены в цвета, определяемые значениями свойтсв MarkerEdgeColor И MarkerFaceColor.

Значениями свойств XData, YData и ZData являются координаты точек кривой. Пример построения линии с тенью. Идея примера заключается в построении двух слегка смещенных друг относительно друга графиков. Причем теневой график имеет несколько большую толщину линии. Приведенный в примере 7.8 фрагмент без изменений заимствован из файлов помощи.

» t = 0:pi/20:2*pi;

» h_Linl = plot(t,sin(t),'k');

» h_Lin2 = line(t+.06,sin(t),'LineWidth',4,'Color',[.8 .8 .8]);

>> set(gca,'Children',[h_Linl h_Lin2])

Первая команда формирует массив аргументов t , который используется во второй команде для построения обычной синусоиды черным цветом. Третья команда использует смещенный аргумент t+0.06 и строит в этих точках утолщенную синусоиду серого цвета. Затем построенная тень заслоняет большую часть первой синусоиды, и наблюдаемая картина производит грустное впечатление (рис. 7.7). Зато четвертая команда осуществляет перестройку дочерних линий, выводя на передний план основную синусоиду (рис. 7.8). Немного подумав, мы достигли такого же результата, изменив порядок построения кривых и сэкономив на этом одну команду:

» t = 0:pi/20:2*pi ;

» h_Lin2 = plot(t+.06,sin(t),'LineWidth',4,'Color',[. 8 .8 .8]) ;

» h Linl = line(t,sin(t),'Color',[ 0 0 0]) ;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]