Некоторые полезные средства настройки графиков (plot) в MATLAB

в 10:11, , рубрики: Matlab, графики, Песочница, Софт, Учебный процесс в IT, метки: ,

Недавно, в очередной раз проверяя домашние работы своих студентов, я загорелся желанием автоматизировать этот процесс. Задание состояло в составлении рабочей таблицы девиации магнитного компаса и построения кривой девиации.

Входными данными служили показания магнитного компаса (МК), синхронно наблюдаемые показания гирокомпаса (ГК), поправка ГК и значение магнитного склонения для района, в котором проходили измерения.

Все данные были занесены в таблицу и разделены из 10 столбцов с входными данными и 25 строк – значений входных данных для каждого из вариантов. Для удобства считывания данных в MATLAB они были записаны в виде текстового файла и импортировались в рабочее пространство с помощью функции importdata.

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

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

%Построение графика Рабочей кривой девиации
X=[0:10:360];
Y=SC;
plot(X,Y,'bo-');
grid on;
title('Рабочая кривая девиации');
xlabel('Компасный курс, circ');
ylabel('Девиация, circ');
axis auto
xlim([0,360])
set(gca, 'XTick',0:45:360)

И получен следующий график:

Некоторые полезные средства настройки графиков (plot) в MATLAB

Разберем код построчно, рассмотрим какие параметры можно указывать для настройки отображения графиков.

X=[0:10:360];
Y=SC;

Здесь задаются входные данные для построения графика. Количество значений по оси абсцисс и по оси ординат должно совпадать. По эти данные являются векторами с 36 значениями.

plot(X,Y,'bo-');

Собственно, функция построения графика, в которую передаются данные и параметры. Помимо очевидных входных данных параметром функции является тип отображаемой линии, закодированный трехсимвольным сочетанием. В данном случае “b” – blue, цвет линии; “o” – вид маркера, которым обозначаются точки графика и “-” – тип линии, в данном случае – сплошная.

Ниже привожу список параметров для настройки отображаемой линии.

Маркер Цвет линии
c голубой
m фиолетовый
y желтый
r красный
g зеленый
b синий
w белый
k черный

Маркер Тип линии
— непрерывная
— — штриховая
: пунктирная
-. штрих-пунктирная

Маркер Тип маркера
. точка
+ знак «плюс»
* знак «звездочка»
о круг
х знак «крест»

grid on;

Команда, которой включается сетка на графике.

title('Рабочая кривая девиации');
xlabel('Компасный курс, circ');
ylabel('Девиация, circ');

Подписи для графика и соответствующих осей. Здесь “circ” кодировка символа градуса.

axis auto

Команда управления осями. В данном случае выставлен параметр “auto” – автоматическая расстановка осей. Здесь-то меня и не устроила работа MATLAB, т.к. автоматически оси не пристыковывались к крайним значениям графика, а «добавляли» лишнее пространство по оси “X”.

Некоторые полезные средства настройки графиков (plot) в MATLAB

С помощью команды “help axis” я нашел еще несколько вариантов параметра для осей, в частности попробовал параметр “tight”, который должен был пристыковывать границы графика к крайним значениям кривой. Однако результат и этого параметра меня не удовлетворил т.к. результат выглядел следующим образом:

Некоторые полезные средства настройки графиков (plot) в MATLAB

График выглядит «зажатым», к тому же «теряются» части кривой находящиеся между максимальными значениями.

Для получения наглядного результата пришлось настроить ось “X” отдельно с помощью следующих команд:

axis auto
xlim([0,360])

Последняя функция задает граничные значения отдельно для оси “X”, что позволило мне ограничить график максимальными значениями по данной оси.

И последняя команда:

set(gca, 'XTick',0:45:360)

Позволила настроить подписи и шаг для оси “X”. Функция “set” является достаточно общей, ее работа зависит от передаваемых параметров. В данном случае “gca” – означает, что параметры будут устанавливаться для сетки графика, “ XTick ” – означает, что будет управляться подпись оси “X”, а параметр “0:45:360” – задает минимальное значение, шаг и максимальное значение.

В результате получился достаточно наглядный график кривой девиации, по сравнению формы которого с формой графика полученного студентом можно было быстро оценить правильность выполнения работы. Так же, благодаря загрузке данных из файла по всем вариантам, с дальнейшим выбором последнего, изменять приходилось только номер варианта, чтобы получить результат.

Некоторые полезные средства настройки графиков (plot) в MATLAB

Надеюсь, что эта статья будет полезной не только для начинающих MATLAB, но и для опытных пользователей.

В окончании хотел бы отметить полезность команды “help” – она не только позволяет получить необходимую информацию по функции или команде из командной строки, но и сделать это значительно быстрее, чем через поиск в справке MATLAB.

Автор: Erraendil

Источник


  1. леонид:

    Очень полезная статья
    я хотел узнать может вы знаете как построить двух-мерный график с 3 осями, так что график находится внутри триугольника.
    если нет то может вы знаете где можно прочесть об этом. если можно ответ на e-mail

    спасибо

  2. Дима:

    Леонид, покажите эскизом, что Вам надо.

  3. Запаренный однотипными поставми:

    Ребята!
    Вам не надоело переписывать одно и то же друг у друга. И описывать простейшие примеры, толк от которых 0.

    Вот пример.
    Есть созданное приложение в GUIDE там 2 поля (для простоты, а так может быть и 20) для вывода графиков.
    Как в каждом из полей вывести разные графики и настроить надписи на осях, заголовок и т.д.

    Напишите об этом и это уже будет полезно многим!

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js