Date Редакция Категория sci Теги matlab

Команда plot имеет множество настроек, которые определяют цвет, толщину и стиль линий, а также параметры маркеров на ваших графиках. Предлагаемые по умолчанию настройки неплохо смотрятся на экране настольного компьютера, но в презентациях требуются более жирные линии и более заметный шрифт. Рассмотрим как этого добиться с помощью настроек plot.

Данные

Упражняться будем на примере обычной синусоиды.

clear all; clc; close all;

x = 0:0.1:2*pi;
y = sin(x);

Обратите внимание на первую строку. В ней не только очищается память (Workspace) и командное окно MATLAB, но и закрываются все открытые ранее графические окна (close all). Очень полезно, чтобы не запутаться в старых и новых версиях рисунков.

Исходный график

plot(x,y)

first.png

Настроим график

А теперь давайте увеличим толщину линии, изменим ее цвет на красный и сделаем на ней маркеры в виде закрашенных красным кружков с черным контуром. Кроме того, сделаем размер рисунков равным 10х7.5 дюймов (4:3).

width  = 10;
height = 7.5;
figure('Units','inches','Position',[1 1 width height])
plot(x,y,...
    'Linewidth',2,...
    'Color','r',...
    'Marker','o',...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor','r')

second.png

Настроим подписи к осям

На подписях к осям координат сделаем более крупный шрифт -- 12 пт. Подпись к оси Х выполним полужирным шрифтом, а к оси Y -- курсивом, вдобавок изменив цвет шрифта на синий.

xlabel('x data','FontSize',12,'FontWeight','bold')
ylabel('y data','FontSize',12,'FontAngle','italic','Color','b')

third.png

Настроим все текстовые свойства рисунка.

Да, но теперь стиль цифр вдоль осей координат отличается от стиля подписей. А если к тому же у вас на одном рисунке размещено несколько координатных осей и несколько графиков. Нельзя ли выделить сразу все текстовые объекты и изменить их свойства? Конечно можно. Более того, аналогично можно выделить все линии и изменить их настройки. Вот как это делается.

a = findobj(gcf); % получить дескрипторы всех объектов, размещенных на текущем figure

allaxes  = findall(a,'Type','axes');
alllines = findall(a,'Type','line');
alltext  = findall(a,'Type','text');

set(allaxes,'FontName','Arial','FontWeight','Bold','LineWidth',2,...
    'FontSize',14);
set(alllines,'Linewidth',2);
set(alltext,'FontName','Arial','FontWeight','Bold','FontSize',14);

Вначале выделим все объекты. Затем среди них выделим оси, линии и текстовые объекты. И, наконец, установим свойства объектов.

fourth.png



Комментарии

comments powered by Disqus