Построение графиков. Пакет 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 должны быть одинаковой размерности!

Задание параметров графиков

  1. При вызове (см. таблицу выше)
  2. Записать имя объекта – графика и изменять его параметры:
plot=plot(x, y, '-', lw=1)
setp(plot, color='r', linewidth=2.0)

Задание легенды

  1. Cразу при построении графика
plot=plot(x, y, '-', lw=1, label=’graph 1’)
legend()         #показать легенду
  1. Отдельной командой
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() – показ графика. Пока окно графика не закрыто программа дальше не выполняется.