Использование библиотеки Matplotlib. Как отображать формулы в нотации TeX

Немного рекламы

Одной из интересных особенностей Matplotlib является то, что эта библиотека умеет рисовать формулы по их TeX-нотации. Чтобы указать Matplotlib, что строка содержит формулу, достаточно эту формулу заключить в знаки $.

Допустим, мы хотим, чтобы в заголовке легенды у нас располагалась формула, описывающая функцию sinc (f(x) = sin (x) / x). Для этого достаточно в качестве параметра title функции legend() передать параметр r"$f(x) = \frac{sin(x)}{x}$".

Здесь удобно использовать "сырые" строки с префиксом "r", чтобы не приходилось каждый раз удваивать обратный слеш, который в TeX обозначает начало команды.

Точно также можно использовать формулы и в других выводимых строках. Это показано в следующем примере:

#!/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]

# !!! Графики имеют метки с формулами в формате TeX
pylab.plot (xlist, ylist1, "b-", label = "$f(x)$")
pylab.plot (xlist, ylist2, "g--", label = "$f(x \cdot 0.2)$")

# !!! Добавим легенду с заголовком в виде формулы
pylab.legend (title = r"$f(x) = \frac{sin(x)}{x}$")

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

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

Немного рекламы

Вы можете подписаться на новости сайта через RSS, Группу Вконтакте или Канал в Telegram.
5 stars

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




Подписаться на комментарии
Автор:
Тема:
 Ваш комментарий
 
 
Введите код 942