Последние изменения - Поиск:
RSS блога RSS блога

Начало

Блог

Программки

    Google+

Плагины

Программирование

Фото

Контакты

Я в твиттере Я в ЖЖ

Шпаргалка по Matplotlib. Как отобразить легенду

Легендой называют табличку, в которой показано какой график какой линией нарисован. Чтобы показать легенду, нужно вызвать функцию legend() из пакета pylab. Есть несколько способов для добавления легенды.

Первый способ

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

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

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

import math

# Импортируем один из пакетов Matplotlib
import pylab

# Импортируем пакет со вспомогательными функциями
from matplotlib import mlab

# Будем рисовать график этой функции
def func (x):
    """
    sinc (x)
    """

    if x == 0:
        return 1.0
    return math.sin (x) / x

# Интервал изменения переменной по оси X
xmin = -20.0
xmax = 20.0

# Шаг между точками
dx = 0.01

# Создадим список координат по оси X на отрезке [-xmin; xmax], включая концы
xlist = mlab.frange (xmin, xmax, dx)

# Вычислим значение функции в заданных точках
ylist1 = [func (x) for x in xlist]
ylist2 = [func (x * 0.2) for x in xlist]

# Нарисуем два одномерных графика
pylab.plot (xlist, ylist1, "b-")
pylab.plot (xlist, ylist2, "g--")

# !!! Добавим легенду.
# !!! Первому графику будет соответствовать надпись "f(x)",
# !!! А второму - "f(0.2 * x)"
pylab.legend ( ("f(x)", "f(0.2 * x)") )

# Покажем окно с нарисованным графиком
pylab.show()

Второй способ

Того же самого результата мы можем добиться, если при рисовании графиков будем использовать дополнительный парметр label, а затем вызовем функцию legend() без параметров.

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

import math

# Импортируем один из пакетов Matplotlib
import pylab

# Импортируем пакет со вспомогательными функциями
from matplotlib import mlab

# Будем рисовать график этой функции
def func (x):
    """
    sinc (x)
    """

    if x == 0:
        return 1.0
    return math.sin (x) / x

# Интервал изменения переменной по оси X
xmin = -20.0
xmax = 20.0

# Шаг между точками
dx = 0.01

# Создадим список координат по оси X на отрезке [-xmin; xmax], включая концы
xlist = mlab.frange (xmin, xmax, dx)

# Вычислим значение функции в заданных точках
ylist1 = [func (x) for x in xlist]
ylist2 = [func (x * 0.2) for x in xlist]

# !!! Нарисуем два одномерных графика и сразу зададим их описание
pylab.plot (xlist, ylist1, "b-", label = "f(x)")
pylab.plot (xlist, ylist2, "g--", label = "f(0.2 * x)")

# !!! Добавим легенду.
pylab.legend ()

# Покажем окно с нарисованным графиком
pylab.show()

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

Заголовок легенды

В легенду можно добавить заголовок, для этого в функцию legend() надо передать дополнительный строковый параметр title со строкой заголовка.

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

import math

# Импортируем один из пакетов Matplotlib
import pylab

# Импортируем пакет со вспомогательными функциями
from matplotlib import mlab

# Будем рисовать график этой функции
def func (x):
    """
    sinc (x)
    """

    if x == 0:
        return 1.0
    return math.sin (x) / x

# Интервал изменения переменной по оси X
xmin = -20.0
xmax = 20.0

# Шаг между точками
dx = 0.01

# Создадим список координат по оиси X на отрезке [-xmin; xmax], включая концы
xlist = mlab.frange (xmin, xmax, dx)

# Вычислим значение функции в заданных точках
ylist1 = [func (x) for x in xlist]
ylist2 = [func (x * 0.2) for x in xlist]

# Нарисуем два одномерных графика и сразу зададим их описание
pylab.plot (xlist, ylist1, "b-", label = "f(x)")
pylab.plot (xlist, ylist2, "g--", label = "f(0.2 * x)")

# !!! Добавим легенду с заголовком
pylab.legend (title = "Sinc")

# Покажем окно с нарисованным графиком
pylab.show()

Остальные примеры

Пожалуйста, оцените материал

5 stars Рейтинг 5.0/5. Всего 1 голос(а, ов)




Подписаться на комментарии
Автор:
Тема:
 Ваш комментарий
 
 
Введите код 865
 
Править - История - Печать - Последние изменения - Поиск
Последняя редакция от 27.05.2011 02:37