Elettracompany.com

Компьютерный справочник
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Matlab plot толщина линии

Matlab plot толщина линии

3.2. Оформление графиков

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

Функция plot() позволяет менять цвет и тип отображаемой линии. Для этого, используются дополнительные параметры, которые записываются следующим образом:

Обратите внимание, что третий параметр записывается в апострофах и имеет обозначения, приведенные в таблицах 3.1-3.3. Маркеры, указанные ниже записываются подряд друг за другом, например,

‘ko’ – на графике отображает черными кружками точки графика,
‘ko-‘ – рисует график черной линией и проставляет точки в виде кружков.

Табл. 3.1. Обозначение цвета линии графика

Табл. 3.2. Обозначение типа линии графика

Табл. 3.3. Обозначение типа точек графика

Ниже показаны примеры записи функции plot() с разным набором маркеров.

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

subplot(2,2,1); plot(x,y,’r-‘);
subplot(2,2,2); plot(x,y,’r-‘,x,y,’ko’);
subplot(2,2,3); plot(y,’b—‘);
subplot(2,2,4); plot(y,’b—+’);

Результат работы фрагмента программы приведен на рис. 3.7. Представленный пример показывает, каким образом можно комбинировать маркеры для достижения требуемого результата. А на рис. 3.7 наглядно видно к каким визуальным эффектам приводят разные маркеры, используемые в программе. Следует особо отметить, что в четвертой строчке программы по сути отображаются два графика: первый рисуется красным цветом и непрерывной линией, а второй черными кружками заданных точек графика. Остальные варианты записи маркеров очевидны.

Рис. 3.7. Примеры отображения графиков с разными типами маркеров

Из примеров рис. 3.7 видно, что масштаб графиков по оси Ox несколько больше реальных значений. Дело в том, что система MatLab автоматически масштабирует систему координат для полного представления данных. Однако такая автоматическая настройка не всегда может удовлетворять интересам пользователя. Иногда требуется выделить отдельный фрагмент графика и только его показать целиком. Для этого используется функция axis() языка MatLab, которая имеет следующий синтаксис:

axis( [ xmin, xmax, ymin, ymax ] ),

где название указанных параметров говорят сами за себя.

Воспользуемся данной функцией для отображения графика функции синуса в пределах от 0 до :

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

subplot(1,2,1);
plot(x,y);
axis([0 2*pi -1 1]);

subplot(1,2,2);
plot(x,y);
axis([0 pi 0 1]);

Из результата работы программы (рис. 3.8) видно, что несмотря на то, что функция синуса задана в диапазоне от 0 до , с помощью функции axis() можно отобразить как весь график, так и его фрагмент в пределах от 0 до .

Рис. 3.8. Пример работы функции axis()

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

Matlab plot толщина линии

2. Оформление графиков функций.

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

Например, следущие команды

x = 0 : 0.1 : 3; y = sin( x );

plot( x, y, ‘r-‘, x, y, ‘ko’ )

позволяют придать графику вид красной сплошной линии, на которой в дискретных

вычисляемых точках проставляются чёрные окружности. Здесь функция plot дважды строит график одной и той же функции, но в двух разных стилях. Первый из этих стилей отмечен как ‘r-‘, что означает проведение линии красным цветом (буква r), а штрих означает проведение сплошной линии. Второй стиль, помеченный как ‘ko’ означает проведение чёрным цветом (буква k) окружностей (буква o) на месте вычисляемых точек.

В общем случае, функция

plot( x1, y1, s1, x2, y2, s2, )

позволяет объединить несколько графиков функций y1(x1), y2(x2), , проведя их со стилями s1, s2,

В случае функции вида

plot( x1, y1, s1, x1, y1, s2 )

мы можем провести линию графика единственной функции y1(x1) одним цветом, а точки на нём (вычисляемые точки) — другим цветом.

Стили s1, s2, задаются в виде набора трёх символьных маркеров, заключенных в одиночные кавычки. Первый (не обязательно по порядку) из этих маркеров задаёт тип линии:

Второй маркер задаёт цвет:

Последний маркер задаёт тип проставляемых «точек»:

Можно указывать не все три маркера. Тогда используются необходимые маркеры, установленные «по умолчанию». Порядок, в котором указываются маркеры, не является существенным, то есть ‘r+-‘ и ‘-+r’ приводят к одинаковому результату.

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

Наиболее мощным способом оформления графиков функций (и выполнения других графических работ) является дескрипторный метод, полное изучение которого относится к так называемой низкоуровневой графике системы MATLAB и выходит за рамки настоящего пособия. Мы, однако, приведём сейчас (и позже) некоторые простые примеры.

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

x = 0 : 0.1 : 3; y = sin( x );

hPlot = plot( x, y );

set( hPlot, ‘LineWidth’, 7 );

Функция plot через опорные (вычисленные) точки с координатами x, y проводит отрезки прямых линий. Прямые линии в системе MATLAB представляют собой графические объекты типа Line. Эти объекты имеют огромное число свойств и характеристик, которые можно менять. Доступ к этим объектам осуществляется по их описателям (дескрипторам; handles).

Описатель объекта Line, использованного для построения нашего графика, возвращается функцией plot. Мы его запоминаем для дальнейшего использования в переменной hPlot. Затем этот описатель предлагается функции set для опознания конкретного графического объекта. Именно для такого опознанного объекта функция set изменяет характеристики, которые указаны в других аргументах при вызове функции set. В нашем примере мы указали свойство ‘LineWidth’ (толщина линии), для которого задали новое значение 7 (а по умолчанию — 0.5). В результате получается следующая картина:

Текущее значение любого параметра (атрибута; характеристики) графического объекта можно узнать с помощью функции get. Например, если после получения показанного на рисунке графика ввести и исполнить команду

width = get( hPlot, ‘LineWidth’ )

то для переменной width будет получено значение 7.

Теперь от оформления непосредственно линий перейдём к оформлению осей системы координат, к надписям на осях и так далее. MATLAB выбирает пределы на горизонтальной оси равными указанным для независимой переменной. Для зависимой переменной по вертикальной оси MATLAB вычисляет диапазон изменения значений функции. Затем этот вычисленный диапазон приписывается вертикальной оси системы координат, так что график функции оказывается как бы вписанным в прямоугольник.

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

axis( [ xmin, xmax, ymin, ymax ] )

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

Читать еще:  Интерполяционный многочлен ньютона matlab

axis( [ 1.5, 2.5, 0.5, 2 ] )

чтобы получше разглядеть вершину синусоиды:

Чаще всего этот приём увеличения масштаба изображения применяют при графическом решении уравнений с тем, чтобы получить более высокую точность приближения к корню.

Теперь изменим количество числовых отметок на осях. Их может показаться недостаточно (на горизонтальной оси последнего рисунка их всего три — для значений 1.5 , 2 и 2.5).

Изменить отметки на осях координат можно с помощью функции set, обрабатывающей графический объект Axes. Это объект, который содержит оси координат и белый прямоугольник, внутри которого и проводится сам график функции. Для получения описателя такого объекта применяют функцию gca, которую вызывают без параметров.

В итоге, следующий фрагмент кода

hAxes = gca;

set( hAxes, ‘xtick’, [ 1.5, 1.75, 2.0, 2.25, 2.5 ] )

выполняющийся после построения графика, устанавливает новые метки на горизонтальной оси координат (пять штук).

Для проставления различных надписей на полученном рисунке применяют функции xlabel, ylabel, title и text. Функция xlabel предназначена для проставления названия горизонтальной оси, функция ylabel — то же для вертикальной оси (причём эти надписи ориентированы вдоль осей координат).

Если требуется разместить надпись в произвольном месте рисунка — применяем функцию text:

text( x, y, ‘some text’)

Общий заголовок для графика проставляется функцией title. Кроме того, используя команду

grid on

можно нанести измерительную сетку на всю область построения графика. Применяя все эти средства

title( ‘Function sin(x) graph’ );

xlabel( ‘x coordinate’ ); ylabel( ‘sin(x)’ );

text( 2.1, 0.9, ‘leftarrowsin(x)’ ); grid on;

придаём графику функции следующий вид:

Надпись функцией text помещается, начиная от точки с координатами, указанными первыми двумя аргументами. Специальные символы вводятся внутри текста после символа («обратная косая черта»). В примере мы ввели таким образом специальный символ «стрелка влево». Обозначения для специальных символов совпадают с таковыми в системе подготовки научных текстов TeX.

Незамысловатый блог

30.09.2009

Пакет matplotlib. Наводим красивости

Продолжаем разговор о пакете matplotlib. Сегодня обсудим способы изменения внешнего вида элементов диаграмм — другими словами способы наведения красивостей.

Изменение свойств графических элементов пакета matplotlib

Как уже неоднократно отмечалось — в логике matplotlib каждый графический элемент (линия, подпись, рамка, сетка и т.д.) представлен объектом соответствующего класса. Команды (функции) пакета matplotlib, отвечающие за создание какого-либо элемента, как результат выполнения возвращают ссылку на объект представляющий данный элемент:

Авторы пакета matplotlib предусмотрели три способа изменения свойств графических объектов.

Первый способ. Каждая команда пакета, создающая тот или иной графический элемент, принимает набор именованных переменных (для каждой из этих переменных уже задано значение по умолчанию), имена которых, как правило, совпадают с именами соответствующих полей (свойств) объекта. Изменяя значения именованных переменных можно изменять свойства создаваемого объекта:

Второй способ. Как и подобает в соответствии с догмами объектно-ориентированного программирования, для каждого поля объекта существуют методы, предоставляющие возможность читать/писать значение поля. Уже существующий объект можно настроить посредством указанных методов:

В matplotlib принято следующее соглашение по именованию методов — метод возвращающий значение свойства property именуется get_property() , метод изменяющий значение свойства set_property()

Третий способ. Часто возникает необходимость для группы объектов (не обязательно экземпляров одного и того же класса) установить одинаковые значения для одного (нескольких) общих свойств. На этот случай авторы matplotlib предусмотрели специальную функцию matplotlib.pyplot.setp(*args, **kwargs) — «setup property» — установить свойство. Функция принимает ссылку или список ссылок на объекты и произвольный набор именованных переменных соответствующих изменяемым свойствам:

В результате выполнения кода примера появиться вот такое окно:

Все три линии на диаграмме оформлены одинаково.

А какой глубокий смысл кроется в структуре возвращаемой функцией setp() я, честно говоря, не знаю.

Возможен и альтернативный синтаксис вызова функции. Вместо набора именованных переменных функция принимает набор пар: строка — имя свойства, произвольный тип — значение свойства (так принято работать с объектами в Matlab):

Если необходимо узнать какие значения допустимы для того или иного свойства объекта, можно вызвать функцию setp() передав ей ссылку на объект и строку — имя свойства.

Если вызвать функцию setp() , передав только ссылку на объект, будет выведен список всех свойств объекта и список возможных значений для каждого из свойств:

Ну и если первый аргумент функции — список ссылок на объекты, описанные выше действия производятся для объекта, ссылка на который стоит в переданном списке первой.

В качестве примера приведу код программы использующей все три способа настройки объектов.

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

В результате получим вот такое изображение:

Теперь, взяв за основу код предыдущего примера, настроим, как хотим, свойства каждой прямой.

Теперь изображение будет выглядеть вот так:

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

Технология построения графиков в Matlab

Построение графика по узловым точкам

Графики в Matlab, также как в табличном процессоре, могут быть построены по узловым точкам. Поскольку MATLAB — матричная система, совокупность узловых точек у(х) для построения графика задается векторами X и Y одинакового размера.

Графики MATLAB строит в отдельных окнах, называемых графическими окнами. В главном меню окна есть позиция Tools (Инструменты), которая позволяет вывести или скрыть инструментальную панель, видимую в верхней части окна графики. Средства этой панели позволяют легко управлять параметрами графиков и наносить на них текстовые комментарии в любом месте.

В Matlab для построения графиков функций по узловым точкам в декартовой системе координат служит функция plot. Функция plot имеет несколько синтаксических конструкций:
plot (X, Y) — строит график функции у(х), координаты точек (х, у) которой берутся из векторов одинакового размера Y и X. Если X или Y матрица, то строится семейство графиков по данным, содержащимся в колонках матрицы;
plot(Y) — строит график у(i), где значения у берутся из вектора Y, a i представляет собой индекс соответствующего элемента. Если Y содержит комплексные элементы, то выполняется команда plot (real (Y), imag(Y)). Во всех других случаях мнимая часть данных игнорируется;
plot(X,Y,S) — аналогична команде plot(X,Y), но тип линии графика можно задавать с помощью строковой константы S. Значениями константы S могут быть следующие символы:

Если функция задана аналитической моделью, то для построения графика нужно определить вектор значений аргумента для узловых точек, вычислить значения функции при заданных значениях аргумента и сохранить эти значения в виде вектора, а затем применить функцию plot. Приведенный ниже пример иллюстрирует построение графика функций — sin(x) по узловым точкам :

Читать еще:  Что означает в matlab

>> x=[0; 0.4; 0.8; 1.2; 1.4;1.8;2.2;2.6;3;3.4;3.8]; Y=sin(x); plot(x,Y)

В этом примере уже определены значения вектора x , вычисляемые значения функции содержатся в векторе Y.

Построение двумерного графика одной функции

Для того, чтобы построить график функции y = f(x) , необходимо сформировать два одномерных массива x и y одинаковой размерности, а затем использовать функцию plot .

Пример 1 . Требуется построить график функции на интервале значений X [-1; 1].

Технология построения графика этой функции в MS Excel рассмотрена в статье . Результат решения представлен на рис. 1.

Окно команд с инструкциями для решения задачи в Matlab приведены на рис. 2.

Пояснения к инструкциям

В результате обращения к функции plot(x,y) будет создано окно с именем Figure 1 , в котором будет построен график. Результат решения приведен на рис. 3.

Построение графиков нескольких функций в одной системе координат

Построение графиков нескольких функций в одной системе координат можно выполнить двумя способами:
— использовать функцию plot в формате :
plot (x1, y1, x2, y2, … , xn, yn ) ,
где x1, y1 – массивы значений абсцисс и ординат графика первой функции, x2, y2 – массивы значений абсцисс и ординат графика второй функции , … , xn, yn – массивы значений абсцисс и ординат графика n-ой функции;
— использовать каждый раз функцию plot( x, y) для построения каждого графика, но перед построением каждого последующего графика включать команду hold on , блокирующую режим создания нового окна.

Пример 2 . Требуется построить в одной системе координат графики функций y1=1-2х и у2=Ln x на интервале значений аргумента х [0,2 ; 3 ] . Построение графиков этих функций в Excel при решении систем уравнений рассматривалось в статье .

Решение первым способом
В окне команд Matlab введем инструкции, как показано на рис. 4.

В результате выполнения инструкций Matlab выведет графики, как показано на рис. 5.

Решение вторым способом

В окне команд Matlab введем инструкции, как показано на рис. 6.

В результате выполнения инструкций Matlab сначала выведет график первой функции, а затем в этом же окне выведет график второй функции y2 (рис. 7).

Как видим, графики на рис. 5 и 7 идентичны.
Относительно сравнения сложности создания графиков в Matlab и Excel можно сделать вывод, что в Matlab не требуется предварительно создавать таблицу значений функций и аргументов, величину шага можно сделать значительно меньше, поэтому графики получаются более точными.

Построение графиков без использования узловых точек

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

Построить в Matlab график без узловых точек можно с помощью специальной графической функции fplot. Функция имеет синтаксис:
fplot(‘f(x)’, [ xmin xmax ]) ,
где f(x) – аналитическая запись выражения функции, xmin и xmax — числовые значения границ диапазона изменения аргумента.
Функция fplot позволяет строить функцию, заданную в символьном виде, в интервале изменения аргумента х от xm in до xmax без фиксированного шага изменения х .

В ряде случаев бывает необходимо, чтобы на графике была отображена сетка. Включение отображения сетки, которая строится пунктирными линиями, выполняется командой grid on. Например, график функции sin(x) (рис. 3) в диапазоне x =[-pi/2 : pi/2] можно построить с помощью инструкции >> fplot (‘sin(x)’, [-pi/2 pi/2]); grid on.

Оформление графиков

Оформление графиков в MATLAB можно выполнить двумя способами:
— с помощью команд Matlab, размещенных в пиктографическом меню Insert ;
— функциями Matlab, которые записываются в виде инструкций в командном окне.

В списке пиктографического меню есть следующие команды (рис. 8):

x Label, Y Label, Z Labe l — подписи осей осей;
Title — надпись названия диаграммы;
Legend — легенда, т.е. обозначение линий графиков;
Colorbar — вывод цветовой палитры;
Arrow — рисование стрелки;
Line — рисование линии;
Text — позволяет поместить текст в области построения диаграммы;
Axes — позволяет построить оси.

Команды Matlab для оформления графиков

— команда grid on наносит сетку на график;
— функция title(‘заголовок’) выводит заголовок графика;
— функции xlabel(‘подпись оси х’), ylabel(‘подпись оси у’) служат для подписи осей х и у соответственно;
— функция legend(‘легенда1’, ‘легенда2’, … , ‘легендаn’, k) выводит легенды для каждого из n графиков, параметр k определяет месторасположение легенды в графическом окне: -1 – в правом верхнем углу графического окна, за пределами графика; 0 – автоматически выбрать наилучшее месторасположение; 1 – в правом верхнем углу графика (значение по умолчанию); 2, 3, 4 – в левом верхнем, в левом нижнем, в правом нижнем углах графика соответственно.

Пример 3. Требуется построить график функции Sin(x) на интервале х=<-pi/2; pi/2] и оформить его.

Решение. Создадим М-файл с названием Chart.
Запишем инструкции, как на рис. 9.

Запустим М-файл на выполнение- будет выведен график с соответствующими подписями (рис. 10).

Matplotlib. Урок 2. Работа с инструментом pyplot

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

Для того, чтобы запустить любой из примеров, продемонстрированных в первом уроке (“ Matplolib . Урок 1. Быстрый старт), вам предварительно нужно было импортировать pyplot из библиотеки Matplolib . В настоящее время среди пользователей этого инструмента принято импорт производить следующим образом:

Создатели Matplolib постарались сделать его похожим в использовании на MATLAB , так что если вы знакомы с последним, то разобраться с библиотекой будет проще.

Основы работы с pyplot

Построение графиков

Основным элементом изображения, которое строит pyplot является Фигура (Figure), на нее накладываются один или более графиков, осей, надписей и т.п. Для построения графика используется команда plot() . В самом минимальном варианте можно ее использовать без параметров:

В результате будет выведено пустое поле:

Далее команду импорта и magic -команду для Jupyter (первая и вторая строки приведенной выше программы) мы использовать не будем.

Если в качестве параметра функции plot() передать список, то значения из этого списка будут отложены по оси ординат (ось y ), а по оси абсцисс (ось x ) будут отложены индексы элементов массива:

Для того, чтобы задать значения по осям x и y необходимо в plot() передать два списка:

Текстовые надписи на графике

Наиболее часто используемые текстовые надписи на графике это:

  • наименование осей;
  • наименование самого графика;
  • текстовое примечание на поле с графиком;
  • легенда.

Рассмотрим кратко данные элементы, более подробный рассказ о них будет в одном из ближайших уроков.

Наименование осей

Для задания подписи оси x используется функция xlabel() , оси yylabel(). Разберемся с аргументами данных функций. Здесь и далее аргументы будем описывать следующим образом:

Для функций xlabel()/ylabel() основными являются следующие аргументы:

  • xlabel (или ylabel):str
    • Текст подписи.
  • labelpad : численное значение либо None; значение по умолчанию: None
    • Расстояние между областью графика, включающую оси, и меткой.
Читать еще:  Matlab руководство на русском

Функции xlabel()/ylabel() принимают в качестве аргументов параметры конструктора класса matplotlib.text.Text , некоторые из них нам могут пригодиться:

  • fontsize или size: число либо значение из списка: <‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’>.
    • Размер шрифта.
  • fontstyle: значение из списка: <‘normal’, ‘italic’, ‘oblique’>.
    • Стиль шрифта.
  • fontweight: число в диапазоне от 0 до 1000 либо значение из списка: <‘ultralight’, ‘light’, ‘normal’, ‘regular’, ‘book’, ‘medium’, ‘roman’, ‘semibold’, ‘demibold’, ‘demi’, ‘bold’, ‘heavy’, ‘extra bold’, ‘black’>.
    • Толщина шрифта.
  • color: одни из доступных способов определения цвета см. Цвет линии.
    • Цвет шрифта.

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

Заголовок графика

Для задания заголовка графика используется функция title() :

Из параметров отметим следующие:

Для функции title() также доступны параметры конструктора класса matplotlib.text.Text , часть из них представлена в описании аргументов функций xlabel() / ylabel().

Текстовое примечание

За размещение текста на поле графика отвечает функция text() , которой вначале передаются координаты позиции надписи, после этого – текст самой надписи.

Легенда

Легенда будет размещена на графике, если вызвать функцию legend() , в рамках данного урока мы не будем рассматривать аргументы этой функции.

Разместим на уже знакомом нам графике необходимый набор подписей.

К перечисленным опциям мы добавили сетку, которая включается с помощью функции grid(True) .

Работа с линейным графиком

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

Параметры, которые отвечают за отображение графика можно задать непосредственно в самой функции plot() :

Либо воспользоваться функцией setp() , через которую можно модифицировать нужные параметры:

Стиль линии графика

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

Стиль линии можно передать сразу после указания списков с координатами без указания, что это параметр linewidth .

Либо можно воспользоваться функцией setp() :

Результат будет тот же, что на рисунке выше.

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

Тот же результат можно получить, вызвав plot() для построения каждого графика по отдельности. Если вы хотите представить каждый график отдельно на своем поле, то используйте для этого subplot() (см. Размещение графиков на разных полях)

Цвет линии

Задание цвета линии графика производится через параметр color (или c , если использовать сокращенный вариант). Значение может быть представлено в одном из следующих форматов:

  • RGB или RGBA кортеж значений с плавающей точкой в диапазоне [0, 1] (пример: (0.1, 0.2, 0.3)
  • RGB или RGBA значение в hex формате (пример: ‘#0a0a0a’)
  • строковое представление числа с плавающей точкой в диапазоне [0, 1] (определяет цвет в шкале серого) (пример: ‘0.7’)
  • символ из набора < ‘b’, ‘g’, ‘r’, ‘c’, ‘m’, ‘y’, ‘k’, ‘w’ >
  • имя цвета из палитры X11 / CSS4
  • цвет из палитры xkcd( https://xkcd.com/color/rgb/ ), должен начинаться с префикса ‘xkcd :’
  • цвет из набора Tableau Color (палитра T10 ), должен начинаться с префикса ‘tab :’

Если цвет задается с помощью символа из набора < ‘b’, ‘g’, ‘r’, ‘c’, ‘m’, ‘y’, ‘k’, ‘w’ >, то он может быть совмещен со стилем линии в рамках параметра fmt функции plot() .

Например штриховая красная линия будет задаваться так: ‘–r’, а штрих пунктирная зеленая так ‘-.g’

Тип графика

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

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

Размещение графиков на разных полях

Существуют три основных подхода к размещению нескольких графиков на разных полях:

  • использование функции subplot() для указания места размещения поля с графиком;
  • использование функции subplots() для предварительного задания сетки, в которую будут укладываться поля;
  • использование GridSpec , для более гибкого задания геометрии размещения полей с графиками в сетке.

В этом уроке будут рассмотрены первые два подхода.

Работа с функцией subplot()

Самый простой способ представить графики в отдельных полях – это использовать функцию supplot() для задания их мест размещения. До этого момента мы не работали с Фигурой ( Figure ) напрямую, значения ее параметров, задаваемые по умолчанию, нас устраивали. Для решения текущей задачи придется один из параметров – размер подложки, задать вручную. За это отвечает аргумент figsize функции figure() , которому присваивается кортеж из двух float элементов, определяющих высоту и ширину подложки.

После задания размера, указывается местоположение, куда будет установлено поле с графиком с помощью функции subplot(). Чаще всего используют следующие варианты вызова subplot:

subplot(nrows, ncols, index)

  • pos:int
    • Позиция, в виде трехзначного числа, содержащего информацию о количестве строк, столбцов и индексе, например 212, означает подготовить разметку с двумя строками и одним столбцов, элемент вывести в первую позицию второй строки. Этот вариант можно использовать, если количество строк и столбцов сетки не более 10, в ином случае лучше обратиться к первому варианту.

Рассмотрим на примере работу с данными функциями:

Второй вариант использования subplot():

Работа с функцией subplots()

Одно из неудобств использования последовательного вызова функций subplot() заключается в том, что каждый раз приходится указывать количество строк и столбцов сетки. Для того, чтобы этого избежать, можно воспользоваться функцией subplots(), из всех ее параметров, нас пока интересуют только первые два, через них передается количество строк и столбцов сетки. Функция subplots() возвращает два объекта, первый – это Figure , подложка, на которой будут размещены поля с графиками, второй – объект или массив объектов Axes , через которые можно получить полных доступ к настройке внешнего вида отображаемых элементов.

Решим задачу вывода четырех графиков с помощью функции subplots() :

Результат будет аналогичный тому, что приведен в разделе “Работа с функцией subplot() ”.

P.S.

Вводные уроки по “Линейной алгебре на Python” вы можете найти соответствующей странице нашего сайта . Все уроки по этой теме собраны в книге “Линейная алгебра на Python”.

Если вам интересна тема анализа данных, то мы рекомендуем ознакомиться с библиотекой Pandas. Для начала вы можете познакомиться с вводными уроками. Все уроки по библиотеке Pandas собраны в книге “Pandas. Работа с данными”.

Ссылка на основную публикацию
Adblock
detector