Построение графиков. Пакет MatPlotLib¶
Работа с графиками и простыми 2D и 3D изображениями реализована в пакете Matplotlib.
Сайт проекта - http://matplotlib.sourceforge.net/index.html
Галлерея изображений - http://matplotlib.sourceforge.net/gallery.html
Использование пакета очень простое: выбираем нужный тип изображения, загружаем пример, дорабатываем, и получаем результат. Например:
Внимание
для работы Matplotlib
должен быть установлен модуль работы с массивами NumPy
.
Примечание
Прямой способ использования функциональности Matplotlib
заключается в импортировании модуля
PyPlot
: import matplotlib.pyplot as py. Альтернативно можно использовать другое пространство
имен PyLab
: import pylab as py. Во втором способе также становятся доступны базовые функции
пакета работы с массивами NumPy
import pylab as py
x = range(10)
y = [(float(i)/10.0*3.1415)**2 for i in range(10)]
py.errorbar(x, y, yerr=range(10), capsize=3)
Команды построения графиков¶
один график, толщина линии – 2, линия пунктирная
plot(x, y, '-', lw=2)
несколько графиков в одном поле
plot(x, y, '-', lw=2, x1, y1, 'o', lw=1, x2, y2, '-', ‘r’)
график с ошибкам по у, ширина крышечки - 3
errorbar(x,y,yerr=1.,capsize=3)
полупрозрачные необведенные окружности
scatter(x, y, c=colour, s=size, alpha=0.5, edgecolors='none')
нормированная гистограмма, разбиение на 50 интервалов, столбцы шириной 0.8 от полного размера
py.hist(x, 50, normed=1, histtype='bar', rwidth=0.8)
строит изображение, где Z – функция, которая вычисляется на сетке
im = py.imshow(Z, cmap=py.cm.jet)
oткрывается 2 окна. В первом выводится 2 поля для графиков (2 ряда, 1 колонка)
py.figure(1) # первое окно py.subplot(211) py.plot([1,2,3]) # первый график py.subplot(212) # второй график py.plot([4,5,6]) py.figure(2) # второе окно py.plot([4,5,6])
Внимание
при построении графиков x и y должны быть одинаковой размерности!
Задание параметров графиков¶
- При вызове (см. таблицу выше)
- Записать имя объекта – графика и изменять его параметры:
plot=plot(x, y, '-', lw=1) setp(plot, color='r', linewidth=2.0)
Задание легенды¶
- Cразу при построении графика
plot=plot(x, y, '-', lw=1, label=’graph 1’) legend() #показать легенду
- Отдельной командой
p1, = plot([1,2,3]) p2 = plot([3,2,1]) legend([p1,p2], ["line 1","line 2"], loc=2) # присваивает и выводит легенду
Положение | Параметр loc |
---|---|
верхнее правое | 1 |
верхнее левое | 2 |
нижнее левое | 3 |
нижнее правое | 4 |
правое | 5 |
левое центральное | 6 |
правое центральное | 7 |
внизу поцентру | 8 |
вверху по центру | 9 |
по центру | 10 |
Параметры поля вывода графиков¶
- axis([0, 6, 0, 20]) – пределы графика по осям
- xlabel(„time (s)“) – подпись оси x
- ylabel(„voltage (mV)“) – подпись оси у
- title(„About as simple as it gets, folks“) – название графика
- grid(True) – показать сетку
Команды показа графика¶
ion()
+ draw()
– показ графика в интерактивном режиме. (программа выполняется дальше)
show()
– показ графика. Пока окно графика не закрыто программа дальше не выполняется.