mathtext
matplotlib.mathtext
mathtext — модуль для разбора подмножества синтаксиса TeX для математических выражений и их отрисовки в matplotlib-бэкенде.
Для получения руководства по его использованию см. Написание математических выражений. Данный документ в основном посвящен деталям реализации.
Модуль использует pyparsing для разбора TeX-выражений.
Поддерживаются шрифты TeX Computer Modern, распространяемые в пакете Bakoma, и шрифты STIX. Есть экспериментальная поддержка использования произвольных шрифтов, но результаты могут варьироваться без надлежащей настройки и метрик для этих шрифтов.
-
class matplotlib.mathtext.Accent(c, state, math=True)[исходный код] -
Базовые классы:
matplotlib.mathtext.CharМетрики шрифта для акцентов необходимо обрабатывать по-другому, поскольку они уже правильно смещены от базовой линии в шрифтах TrueType.
-
grow()[исходный код] -
Увеличивает размер на один уровень. Нет ограничений на максимальный размер.
-
render(x, y)[исходный код] -
Отображение символа на холсте.
-
shrink()[исходный код] -
Уменьшает размер на один уровень. Существует только три уровня размеров, после чего размер больше не уменьшается.
-
-
class matplotlib.mathtext.AutoHeightChar(c, height, depth, state, always=False, factor=None)[исходный код] -
Основы:
matplotlib.mathtext.HlistAutoHeightCharсоздаст символ, максимально приближенный к заданной высоте и глубине. При использовании шрифта с несколькими вариантами высоты некоторых символов (например, шрифтов BaKoMa), будет выбран правильный глиф, в противном случае будет возвращена только масштабированная версия глифа.
-
class matplotlib.mathtext.AutoWidthChar(c, width, state, always=False, char_class=<class 'matplotlib.mathtext.Char'>)[исходный код] -
Основы:
matplotlib.mathtext.HlistAutoWidthCharсоздаст символ, максимально приближенный к заданной ширине. При использовании шрифта с несколькими вариантами ширины некоторых символов (например, шрифтов BaKoMa), будет выбран правильный глиф, в противном случае будет возвращена только масштабированная версия глифа.
-
class matplotlib.mathtext.BakomaFonts(*args, **kwargs)[исходный код] -
Основы:
matplotlib.mathtext.TruetypeFontsИспользуйте шрифты Bakoma TrueType для рендеринга.
Символы разбросаны по ряду файлов шрифтов, каждый из которых имеет собственную собственную кодировку с 8 битами.
-
alias = '\\]'
-
get_sized_alternatives_for_symbol(fontname, sym)[исходный код] -
Переопределите этот метод, если ваш шрифт предоставляет несколько размеров одного и того же символа. Он должен возвращать список символов, соответствующих символу, в различных размерах. Интерпретатор выражений выберет из этого списка наиболее подходящий для данной ситуации размер.
-
target = ']'
-
-
class matplotlib.mathtext.Box(width, height, depth)[исходный код] -
Основы:
matplotlib.mathtext.NodeПредставляет любой узел с физическим расположением.
-
grow()[исходный код] -
Увеличивает размер на один уровень. Нет ограничений на увеличение размера.
-
render(x1, y1, x2, y2)[исходный код]
-
shrink()[исходный код] -
Уменьшает размер на один уровень. Существует только три уровня уменьшения, после чего уменьшение становится невозможным.
-
-
class matplotlib.mathtext.Char(c, state, math=True)[исходный код] -
Основы:
matplotlib.mathtext.NodeПредставляет один символ. В отличие от TeX, информация о шрифте и метрики хранятся с каждым
Char, чтобы облегчить поиск метрик шрифта при необходимости. Обратите внимание, что TeX-боксы имеют ширину, высоту и глубину, в отличие от Type1 и Truetype, которые используют полную область захвата и продвижение в направлении x. Метрики должны быть преобразованы в формат TeX, а продвижение (если отличается от ширины) должно быть преобразовано в узелKern, когдаCharдобавляется к родительскому узлуHlist.-
get_kerning(next)[исходный код] -
Возвращает величину кернинга между данным символом и другим символом. Вызывается при объединении символов в
Hlistдля создания узловKern.
-
grow()[исходный код] -
Увеличивает размер на один уровень. Нет ограничений на увеличение размера.
-
is_slanted()[исходный код]
-
render(x, y)[исходный код] -
Отрисовывает символ на холсте
-
shrink()[исходный код] -
Уменьшает размер на один уровень. Существует только три уровня уменьшения, после чего уменьшение становится невозможным.
-
-
class matplotlib.mathtext.ComputerModernFontConstants[исходный код] -
Основы:
matplotlib.mathtext.FontConstantsBase-
delta = 0.075
-
delta_integral = 0.3
-
delta_slanted = 0.3
-
script_space = 0.075
-
sub1 = 0.2
-
sub2 = 0.3
-
subdrop = 0.2
-
sup1 = 0.45
-
-
class matplotlib.mathtext.DejaVuFonts(*args, **kwargs)[исходный код] -
Основы:
matplotlib.mathtext.UnicodeFonts-
use_cmex = False
-
-
class matplotlib.mathtext.DejaVuSansFontConstants[исходный код]
-
class matplotlib.mathtext.DejaVuSansFonts(*args, **kwargs)[исходный код] -
Основы:
matplotlib.mathtext.DejaVuFontsКласс обработки шрифтов DejaVu Sans
Если глиф не найден, он будет переключен на Stix Sans
-
class matplotlib.mathtext.DejaVuSerifFontConstants[исходный код]
-
class matplotlib.mathtext.DejaVuSerifFonts(*args, **kwargs)[исходный код] -
Основы:
matplotlib.mathtext.DejaVuFontsКласс обработки шрифтов DejaVu Serif
Если глиф не найден, он будет переключен на Stix Serif
-
matplotlib.mathtext.Error(msg)[исходный код] -
Класс-помощник для повышения ошибок парсера.
-
class matplotlib.mathtext.Fil[исходный код] -
Базы:
matplotlib.mathtext.Glue
-
class matplotlib.mathtext.Fill[исходный код] -
Базы:
matplotlib.mathtext.Glue
-
class matplotlib.mathtext.Filll[исходный код] -
Базы:
matplotlib.mathtext.Glue
-
class matplotlib.mathtext.FontConstantsBase[исходный код] -
Базы:
objectНабор констант, которые контролируют, как выстраиваются, например, нижние и верхние индексы. Все это метрики, которые нельзя надежно извлечь из метрик шрифта в самом шрифте.
-
delta = 0.025
-
delta_integral = 0.1
-
delta_slanted = 0.2
-
script_space = 0.05
-
sub1 = 0.3
-
sub2 = 0.5
-
subdrop = 0.4
-
sup1 = 0.7
-
-
class matplotlib.mathtext.Fonts(default_font_prop, mathtext_backend)[исходный код] -
Базы:
objectАбстрактный базовый класс для системы шрифтов, используемых для mathtext.
Класс должен уметь принимать ключи символов и имена файлов шрифтов и возвращать метрики символов. Он также делегирует классу бэкенда выполнение фактического рисования.
default_font_prop: Объект
FontProperties, используемый для стандартного шрифта без математических символов, или базовый шрифт для рендеринга шрифтов Unicode (общих).mathtext_backend: Подкласс
MathTextBackendдля делегирования фактического рендеринга.-
destroy()[исходный код] -
Исправить циклические ссылки перед тем, как объект будет уничтожен.
-
get_kern(font1, fontclass1, sym1, fontsize1, font2, fontclass2, sym2, fontsize2, dpi)[исходный код] -
Получение расстояния кернинга для шрифта между sym1 и sym2.
fontX: одно из имен шрифтов TeX:
tt, it, rm, cal, sf, bf or default/regular (non-math)
fontclassX: TODO
symX: символ в формате TeX. Например, '1', 'x' или 'sigma'
fontsizeX: размер шрифта в пунктах
dpi: текущее количество точек на дюйм
-
get_metrics(font, font_class, sym, fontsize, dpi, math=True)[исходный код] -
font: одно из имён шрифтов TeX:
tt, it, rm, cal, sf, bf or default/regular (non-math)
font_class: TODO
sym: символ в формате TeX. Например, '1', 'x' или 'sigma'
fontsize: размер шрифта в пунктах
dpi: текущее количество точек на дюйм
math: является ли sym математическим символом
Возвращает объект со следующими атрибутами:
- advance: Расстояние продвижения (в пунктах) глифа.
- height: Высота глифа в пунктах.
- width: Ширина глифа в пунктах.
- xmin, xmax, ymin, ymax - прямоугольник чернил глифа
- iceberg - расстояние от базовой линии до верхней части глифа. Соответствует определению «высота» в TeX.
-
get_results(box)[исходный код] -
Получение данных, необходимых бэкенду для рендеринга математического выражения. Возвращаемое значение зависит от бэкенда.
-
get_sized_alternatives_for_symbol(fontname, sym)[исходный код] -
Переопределите, если ваш шрифт предоставляет несколько размеров одного и того же символа. Должно возвращать список символов, соответствующих символу в различных размерах. Рендерер выражений выберет наиболее подходящий размер из этого списка для данной ситуации.
-
get_underline_thickness(font, fontsize, dpi)[исходный код] -
Получение толщины линии, соответствующей данному шрифту. Используется в качестве базовой единицы для рисования линий, например, в дроби или радикале.
-
get_used_characters()[исходный код] -
Получение набора символов, используемых в математическом выражении. Используется бэкендами, которым требуется подмножество шрифтов, чтобы определить, какие глифы включать.
-
get_xheight(font, fontsize, dpi)[исходный код] -
Получение высоты строчной буквы x для данного font и fontsize.
-
render_glyph(ox, oy, facename, font_class, sym, fontsize, dpi)[исходный код] -
Рисование глифа в
- ox, oy: позиция
- facename: одно из имён шрифтов TeX
- font_class:
- sym: имя символа TeX или одиночный символ
- fontsize: размер шрифта в пунктах
- dpi: dpi для рисования.
-
render_rect_filled(x1, y1, x2, y2)[исходный код] -
Рисование заполненного прямоугольника от (x1, y1) до (x2, y2).
-
set_canvas_size(w, h, d)[исходный код] -
Установка размера буфера, используемого для рендеринга математического выражения. Необходимо только для бэкендов с растровым изображением.
-
-
class matplotlib.mathtext.Glue(glue_type, copy=False)[исходный код] -
Базы:
matplotlib.mathtext.NodeБольшая часть информации в этом объекте хранится в базовом классе
GlueSpec, который используется несколькими объектами glue. (Это оптимизация памяти, которая, вероятно, больше не важна, но проще придерживаться того, что делает TeX.)-
grow()[исходный код] -
Увеличение на один уровень.
-
shrink()[исходный код] -
Уменьшение на один уровень. Есть только три уровня размеров, после чего размер больше не уменьшается.
-
-
class matplotlib.mathtext.GlueSpec(width=0.0, stretch=0.0, stretch_order=0, shrink=0.0, shrink_order=0)[исходный код] -
Базы:
objectСм.
Glue.-
copy()[исходный код]
-
classmethod factory(glue_type)[исходный код]
-
-
class matplotlib.mathtext.HCentered(elements)[исходный код] -
Базы:
matplotlib.mathtext.HlistКласс-обёртка для создания
Hlist, содержимое которого центрировано внутри его ограничительной рамки.
-
class matplotlib.mathtext.Hbox(width)[исходный код] -
Базы:
matplotlib.mathtext.BoxПрямоугольник с шириной, но нулевой высотой и глубиной.
-
class matplotlib.mathtext.Hlist(elements, w=0.0, m='additional', do_kern=True)[исходный код] -
Базы:
matplotlib.mathtext.ListГоризонтальный список прямоугольников.
-
hpack(w=0.0, m='additional')[исходный код] -
Основная задача
hpack()— вычисление размеров результирующих прямоугольников и корректировка склеек, если один из этих размеров задан заранее. Вычисленные размеры обычно охватывают весь материал внутри нового прямоугольника; но некоторые элементы могут выступать за пределы, если использованы отрицательные склеивания, прямоугольник переполнен или если\vboxвключает другие прямоугольники, смещённые влево.- w: задаёт ширину
- m: либо 'точно', либо 'дополнительно'.
Таким образом,
hpack(w, 'exactly')создаёт прямоугольник с точно заданной шириной w, аhpack(w, 'additional')даёт прямоугольник, ширина которого равна естественной ширине плюс w. По умолчанию создаётся прямоугольник с естественной шириной.
-
kern()[исходный код] -
Вставка узлов
Kernмежду узламиCharдля установки кернинга. УзлыCharсами определяют требуемый кернинг (вget_kerning()), а эта функция просто создаёт связанный список нужным образом.
-
-
class matplotlib.mathtext.Hrule(state, thickness=None)[исходный код] -
Базы:
matplotlib.mathtext.RuleКласс-обёртка для создания горизонтальной линии.
-
class matplotlib.mathtext.Kern(width)[исходный код] -
Базы:
matplotlib.mathtext.NodeУзел
Kernсодержит поле width, чтобы указать (обычно отрицательное) значение отступа. Эта корректировка отступа появляется в горизонтальных списках между буквами, как A и V, когда дизайнер шрифтов решил, что лучше их сдвинуть ближе друг к другу или дальше. Узел кернинга может также появиться в вертикальном списке, когда его width обозначает дополнительный отступ в вертикальном направлении.-
depth = 0
-
grow()[исходный код] -
Увеличение размера на один уровень. Пределов для размера нет.
-
height = 0
-
shrink()[исходный код] -
Уменьшение размера на один уровень. Существует только три уровня размеров, после чего уменьшение больше не происходит.
-
-
class matplotlib.mathtext.List(elements)[исходный код] -
Базы:
matplotlib.mathtext.BoxСписок узлов (горизонтальный или вертикальный).
-
grow()[исходный код] -
Увеличение размера на один уровень. Пределов для размера нет.
-
shrink()[исходный код] -
Уменьшение размера на один уровень. Существует только три уровня размеров, после чего уменьшение больше не происходит.
-
-
class matplotlib.mathtext.MathTextParser(output)[исходный код] -
Базы:
objectСоздаёт MathTextParser для данного бэкенда вывода.
-
get_depth(texstr, dpi=120, fontsize=14)[исходный код] -
Возвращает смещение базовой линии от нижней части изображения в пикселях.
- texstr
- Действительная строка mathtext, например, r'IQ: $sigma_i=15$'
- dpi
- Точек на дюйм для отрисовки текста
- fontsize
- Размер шрифта в пунктах
-
parse(s, dpi=72, prop=None)[исходный код] -
Разбирает заданное математическое выражение s при заданном dpi. Если предоставлен параметр prop, он является объектом
FontProperties, определяющим «стандартный» шрифт для использования в математическом выражении, который применяется ко всему тексту, не являющемуся математическим.Результаты кэшируются, поэтому несколько вызовов
parse()с тем же выражением должны быть быстрыми.
-
to_mask(texstr, dpi=120, fontsize=14)[исходный код] -
- texstr
- Действительная строка mathtext, например, r'IQ: $sigma_i=15$'
- dpi
- Точек на дюйм для отрисовки текста
- fontsize
- Размер шрифта в пунктах
Возвращает кортеж (массив, глубина)
- массив — массив NxM из альфа-байтов uint8 маски растеризованного tex.
- глубина — смещение базовой линии от нижней части изображения в пикселях.
-
to_png(filename, texstr, color='black', dpi=120, fontsize=14)[исходный код] -
Записывает выражение tex в файл PNG.
Возвращает смещение базовой линии от нижней части изображения в пикселях.
- filename
- Имя записываемого файла или объект файла
- texstr
- Действительная строка mathtext, например, r'IQ: $sigma_i=15$'
- color
- Действительный аргумент цвета matplotlib
- dpi
- Точек на дюйм для отрисовки текста
- fontsize
- Размер шрифта в пунктах
Возвращает смещение базовой линии от нижней части изображения в пикселях.
-
to_rgba(texstr, color='black', dpi=120, fontsize=14)[исходный код] -
- texstr
- Действительная строка mathtext, например, r'IQ: $sigma_i=15$'
- color
- Любой аргумент цвета matplotlib
- dpi
- Точек на дюйм для отрисовки текста
- fontsize
- Размер шрифта в пунктах
Возвращает кортеж (массив, глубина)
- массив — массив NxM из альфа-байтов uint8 маски растеризованного tex.
- глубина — смещение базовой линии от нижней части изображения в пикселях.
-
-
exception matplotlib.mathtext.MathTextWarning[исходный код] -
Базы:
Warning
-
class matplotlib.mathtext.MathtextBackend[исходный код] -
Базы:
objectБазовый класс для кода бэкенда mathtext. Подклассы
MathtextBackendдолжны обеспечивать интерфейс между mathtext и конкретным графическим бэкендом matplotlib.Подклассы должны переопределить следующее:
И необязательно, если вам нужно использовать стиль хинтинга FreeType:
-
get_hinting_type()[исходный код] -
Получить тип хинтинга FreeType для использования с этим конкретным бэкендом.
-
get_results(box)[исходный код] -
Возвращает кортеж, специфичный для бэкенда, для передачи обратно бэкенду после завершения всех операций обработки.
-
render_glyph(ox, oy, info)[исходный код] -
Отрисовать глиф, описанный в info, в точку отсчёта (ox, oy).
-
render_rect_filled(x1, y1, x2, y2)[исходный код] -
Отрисовать заполненный чёрный прямоугольник от (x1, y1) до (x2, y2).
-
set_canvas_size(w, h, d)[исходный код] -
Установить размер холста для отрисовки.
-
-
class matplotlib.mathtext.MathtextBackendAgg[исходный код] -
Базы:
matplotlib.mathtext.MathtextBackendОтрисовывает глифы и прямоугольники в буфер FTImage, который затем передаётся в изображение Agg бэкендом Agg.
-
get_hinting_type()[исходный код] -
Получить тип хинтинга FreeType для использования с этим конкретным бэкендом.
-
get_results(box, used_characters)[исходный код] -
Возвращает кортеж, специфичный для бэкенда, для передачи обратно бэкенду после завершения всех операций обработки.
-
render_glyph(ox, oy, info)[исходный код] -
Отрисовать глиф, описанный в info, в точку отсчёта (ox, oy).
-
render_rect_filled(x1, y1, x2, y2)[исходный код] -
Отрисовать заполненный чёрный прямоугольник от (x1, y1) до (x2, y2).
-
set_canvas_size(w, h, d)[исходный код] -
Установить размер холста для отрисовки.
-
-
class matplotlib.mathtext.MathtextBackendBitmap[исходный код] -
Базы:
matplotlib.mathtext.MathtextBackendAgg-
get_results(box, used_characters)[исходный код] -
Возвращает кортеж, специфичный для бэкенда, который нужно передать обратно бэкенду после завершения всех операций.
-
-
class matplotlib.mathtext.MathtextBackendCairo[исходный код] -
Базы:
matplotlib.mathtext.MathtextBackendХранит информацию для отображения mathtext в бэкенде Cairo.
-
get_results(box, used_characters)[исходный код] -
Возвращает кортеж, специфичный для бэкенда, который нужно передать обратно бэкенду после завершения всех операций.
-
render_glyph(ox, oy, info)[исходный код] -
Отображает глиф, описанный в info, в точке отсчёта (ox, oy).
-
render_rect_filled(x1, y1, x2, y2)[исходный код] -
Отображает заполненный чёрный прямоугольник от (x1, y1) до (x2, y2).
-
-
class matplotlib.mathtext.MathtextBackendPath[source] -
Основы:
matplotlib.mathtext.MathtextBackendХранит информацию для отображения mathtext с помощью механизма текстовых путей.
-
get_results(box, used_characters)[source] -
Возвращает специфичный для бэкенда кортеж, который нужно передать бэкенду после завершения всех операций.
-
render_glyph(ox, oy, info)[source] -
Отображает глиф, описанный в info, в точке отсчёта (ox, oy).
-
render_rect_filled(x1, y1, x2, y2)[source] -
Отображает заполненный чёрный прямоугольник от (x1, y1) до (x2, y2).
-
-
class matplotlib.mathtext.MathtextBackendPdf[source] -
Основы:
matplotlib.mathtext.MathtextBackendХранит информацию для отображения mathtext в бэкенде PDF.
-
get_results(box, used_characters)[source] -
Возвращает специфичный для бэкенда кортеж, который нужно передать бэкенду после завершения всех операций.
-
render_glyph(ox, oy, info)[source] -
Отображает глиф, описанный в info, в точке отсчёта (ox, oy).
-
render_rect_filled(x1, y1, x2, y2)[source] -
Отображает заполненный чёрный прямоугольник от (x1, y1) до (x2, y2).
-
-
class matplotlib.mathtext.MathtextBackendPs[source] -
Основы:
matplotlib.mathtext.MathtextBackendХранит информацию для отображения mathtext в бэкенде PostScript.
-
get_results(box, used_characters)[source] -
Возвращает специфичный для бэкенда кортеж, который нужно передать бэкенду после завершения всех операций.
-
render_glyph(ox, oy, info)[source] -
Отображает глиф, описанный в info, в точке отсчёта (ox, oy).
-
render_rect_filled(x1, y1, x2, y2)[source] -
Отображает заполненный чёрный прямоугольник от (x1, y1) до (x2, y2).
-
-
class matplotlib.mathtext.MathtextBackendSvg[source] -
Основы:
matplotlib.mathtext.MathtextBackendХранит информацию для отображения mathtext в бэкенде SVG.
-
get_results(box, used_characters)[source] -
Возвращает специфичный для бэкенда кортеж, который нужно передать бэкенду после завершения всех операций.
-
render_glyph(ox, oy, info)[source] -
Отображает глиф, описанный в info, в точке отсчёта (ox, oy).
-
render_rect_filled(x1, y1, x2, y2)[source] -
Отображает заполненный чёрный прямоугольник от (x1, y1) до (x2, y2).
-
-
class matplotlib.mathtext.NegFil[source] -
Основы:
matplotlib.mathtext.Glue
-
class matplotlib.mathtext.NegFill[source] -
Основы:
matplotlib.mathtext.Glue
-
class matplotlib.mathtext.NegFilll[source] -
Основы:
matplotlib.mathtext.Glue
-
class matplotlib.mathtext.Node[source] -
Основы:
objectУзел в модели TeX-блока
-
get_kerning(next)[source]
-
grow()[source] -
Увеличивает размер на один уровень. Нет ограничения на максимальный размер.
-
render(x, y)[source]
-
shrink()[source] -
Уменьшает размер на один уровень. Существует только три уровня уменьшения размера; после чего уменьшение больше невозможно.
-
-
class matplotlib.mathtext.Parser[source] -
Основы:
objectЭто анализатор математических выражений, основанный на pyparsing. Фактически он разбирает полные строки, содержащие математические выражения, поскольку обычный текст может также находиться вне пар
$.Грамматика напрямую основана на грамматике TeX, хотя в ней опущены некоторые детали.
-
class State(font_output, font, font_class, fontsize, dpi)[source] -
Основы:
objectХранит состояние анализатора.
Состояния добавляются и удаляются из стека по мере необходимости, и "текущее" состояние всегда находится на вершине стека.
-
copy()[source]
-
font
-
-
accent(s, loc, toks)[source]
-
auto_delim(s, loc, toks)[source]
-
binom(s, loc, toks)[source]
-
c_over_c(s, loc, toks)[source]
-
customspace(s, loc, toks)[source]
-
dfrac(s, loc, toks)[source]
-
end_group(s, loc, toks)[source]
-
font(s, loc, toks)[source]
-
frac(s, loc, toks)[source]
-
function(s, loc, toks)[source]
-
genfrac(s, loc, toks)[source]
-
get_state()[source] -
Получить текущее состояние анализатора
State.
-
group(s, loc, toks)[source]
-
is_between_brackets(s, loc)[source]
-
is_dropsub(nucleus)[source]
-
is_overunder(nucleus)[source]
-
is_slanted(nucleus)[source]
-
main(s, loc, toks)[source]
-
math(s, loc, toks)[source]
-
math_string(s, loc, toks)[source]
-
non_math(s, loc, toks)[source]
-
operatorname(s, loc, toks)[source]
-
overline(s, loc, toks)[source]
-
parse(s, fonts_object, fontsize, dpi)[source] -
Обработать выражение s, используя заданный объект fonts_object для вывода при заданных значениях fontsize и dpi.
Возвращает дерево разбора, состоящее из экземпляров
Node.
-
pop_state()[source] -
Извлечь
Stateиз стека.
-
push_state()[source] -
Поместить новый объект
Stateв стек; он представляет собой копию текущего состояния.
-
required_group(s, loc, toks)
-
simple_group(s, loc, toks)
-
snowflake(s, loc, toks)
-
space(s, loc, toks)[source]
-
sqrt(s, loc, toks)[source]
-
stackrel(s, loc, toks)[source]
-
start_group(s, loc, toks)[source]
-
subsuper(s, loc, toks)[source]
-
symbol(s, loc, toks)[source]
-
unknown_symbol(s, loc, toks)[source]
-
-
class matplotlib.mathtext.Rule(width, height, depth, state)[source] -
Основы:
matplotlib.mathtext.BoxУзел
Ruleпредставляет собой тёмно-серый прямоугольник; у него есть поля width, depth и height, как и уHlist. Однако, если какой-либо из этих размеров равен inf, фактическое значение будет определяться выполнением правила до границы самого внутреннего содержащего прямоугольника. Это называется "бегущим размером". Ширина никогда не является бегущей вHlist; высота и глубина никогда не являются бегущими вVlist.-
render(x, y, w, h)[source]
-
-
class matplotlib.mathtext.STIXFontConstants[source] -
Основы:
matplotlib.mathtext.FontConstantsBase-
delta = 0.05
-
delta_integral = 0.3
-
delta_slanted = 0.3
-
script_space = 0.1
-
sub2 = 0.6
-
sup1 = 0.8
-
-
class matplotlib.mathtext.STIXSansFontConstants[source] -
Основы:
matplotlib.mathtext.FontConstantsBase-
delta_integral = 0.3
-
delta_slanted = 0.6
-
script_space = 0.05
-
sup1 = 0.8
-
-
class matplotlib.mathtext.Ship[source] -
Основы:
objectПосле настройки прямоугольников они отправляются на вывод. Поскольку прямоугольники могут быть внутри прямоугольников внутри прямоугольников, основная работа
Shipвыполняется двумя взаиморекурсивными процедурами,hlist_out()иvlist_out(), которые обходят узлыHlistи узлыVlistвнутри горизонтальных и вертикальных прямоугольников. Глобальные переменные, используемые в TeX для хранения состояния во время обработки, здесь стали членами.-
static clamp(value)[source]
-
hlist_out(box)[source]
-
vlist_out(box)[source]
-
-
class matplotlib.mathtext.SsGlue[source] -
Основы:
matplotlib.mathtext.Glue
-
class matplotlib.mathtext.StandardPsFonts(default_font_prop)[source] -
Основы:
matplotlib.mathtext.FontsИспользует стандартные шрифты PostScript для рендеринга в backend_ps.
В отличие от других классов шрифтов, BakomaFont и UnicodeFont, этому классу требуется бэкенд Ps.
-
basepath = '/tmp/mpl_docs/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm'
-
fontmap = {'cal': 'pzcmi8a', 'rm': 'pncr8a', 'tt': 'pcrr8a', 'it': 'pncri8a', 'sf': 'phvr8a', 'bf': 'pncb8a', None: 'psyr'}
-
get_kern(font1, fontclass1, sym1, fontsize1, font2, fontclass2, sym2, fontsize2, dpi)[source] -
Получение расстояния кернинга между символами sym1 и sym2.
fontX: одно из имён шрифтов TeX:
tt, it, rm, cal, sf, bf or default/regular (non-math)
fontclassX: TODO
symX: символ в сыром формате TeX. Например, '1', 'x' или 'sigma'
fontsizeX: размер шрифта в пунктах
dpi: текущая плотность точек на дюйм
-
get_underline_thickness(font, fontsize, dpi)[source] -
Получение толщины линии, соответствующей данному шрифту. Используется в качестве базовой единицы для рисования линий, например, в дроби или радикале.
-
get_xheight(font, fontsize, dpi)[source] -
Получение высоты строчной буквы x для заданных шрифта и размера шрифта.
-
-
class matplotlib.mathtext.StixFonts(*args, **kwargs)[source] -
Базовые классы:
matplotlib.mathtext.UnicodeFontsКласс обработки шрифтов STIX.
В дополнение к тому, что предоставляет UnicodeFonts, этот класс:
- поддерживает "виртуальные шрифты", которые представляют собой полные наборы символов от a до z с различными стилями шрифтов в специальных кодовых точках Unicode, таких как "Blackboard".
- обрабатывает альтернативные символы с различными размерами для шрифтов STIXSizeX.
-
cm_fallback = False
-
get_sized_alternatives_for_symbol(fontname, sym)[source] -
Переопределите, если ваш шрифт предоставляет несколько размеров одного и того же символа. Должен вернуть список символов, соответствующих символу в различных размерах. Модуль рендеринга выражений выберет наиболее подходящий размер для данной ситуации из этого списка.
-
use_cmex = False
-
class matplotlib.mathtext.StixSansFonts(*args, **kwargs)[source] -
Базовые классы:
matplotlib.mathtext.StixFontsКласс обработки шрифтов STIX (по умолчанию использует шрифты без засечек).
-
class matplotlib.mathtext.SubSuperCluster[source] -
Базовые классы:
matplotlib.mathtext.HlistSubSuperCluster— это своего рода хак, позволяющий обойти тот факт, что этот код выполняет двухпроходный анализ, как и TeX. Это позволяет нам хранить достаточную информацию в самом списке, а именно ядро, подстрочный и надстрочный индексы, таким образом, если следует другой индекс, который нужно подключить, его можно переконфигурировать на лету.
-
class matplotlib.mathtext.TruetypeFonts(default_font_prop, mathtext_backend)[source] -
Базовый класс для всех настроек шрифтов, использующих шрифты TrueType (через FT2Font).
-
destroy()[source] -
Исправление циклических ссылок перед уничтожением объекта.
-
get_kern(font1, fontclass1, sym1, fontsize1, font2, fontclass2, sym2, fontsize2, dpi)[source] -
Получение расстояния кернинга между символами sym1 и sym2.
fontX: одно из имён шрифтов TeX:
tt, it, rm, cal, sf, bf or default/regular (non-math)
fontclassX: TODO
symX: символ в формате TeX. Например, '1', 'x' или 'sigma'
fontsizeX: размер шрифта в пунктах
dpi: текущая плотность пикселей на дюйм
-
get_underline_thickness(font, fontsize, dpi)[source] -
Получение толщины линии, соответствующей данному шрифту. Используется в качестве базовой единицы для рисования линий, например, в дроби или радикале.
-
get_xheight(fontname, fontsize, dpi)[source] -
Получение значения xheight для данного font и fontsize.
-
-
class matplotlib.mathtext.UnicodeFonts(*args, **kwargs)[source] -
Базовый класс для работы с шрифтами Unicode.
Хотя некоторые достаточно полные шрифты Unicode (такие как DejaVu) могут работать в некоторых ситуациях, единственный шрифт Unicode, о котором мне известно с полным набором математических символов, это STIX.
Этот класс будет использовать шрифты Bakoma в качестве резервных, когда необходимый символ не найден в шрифте.
-
get_sized_alternatives_for_symbol(fontname, sym)[source] -
Переопределите, если ваш шрифт предоставляет несколько размеров одного и того же символа. Должно вернуть список символов, соответствующих символу в различных размерах. Генератор выражений выберет наиболее подходящий размер из этого списка для данной ситуации.
-
use_cmex = True
-
-
class matplotlib.mathtext.VCentered(elements)[source] -
Класс-утилита для создания
Vlist, содержимое которого центрируется внутри ограничивающей рамки.
-
class matplotlib.mathtext.Vbox(height, depth)[source] -
Прямоугольник с высотой (нулевой шириной).
-
class matplotlib.mathtext.Vlist(elements, h=0.0, m='additional')[source] -
Вертикальный список прямоугольников.
-
vpack(h=0.0, m='additional', l=inf)[source] -
Основная задача
vpack()— вычисление размеров получившихся прямоугольников и корректировка расстояний, если один из этих размеров задан заранее.- h: задаёт высоту
- m: либо 'точно', либо 'дополнительно'.
- l: максимальная высота
Таким образом,
vpack(h, 'exactly')создаёт прямоугольник с высотой, равной ровно h, в то время какvpack(h, 'additional')даёт прямоугольник с высотой, равной естественной высоте плюс h. По умолчанию получаем прямоугольник с естественной шириной.
-
-
class matplotlib.mathtext.Vrule(state)[source] -
Класс-утилита для создания вертикальной линии.
-
matplotlib.mathtext.get_unicode_index(symbol[, bool]) → integer[source] -
Возвращает целочисленный индекс (из таблицы Unicode) символа. symbol может быть одиночным символом Unicode, командой TeX (например, r'pi') или именем символа Type1 (например, 'phi'). Если math равно False, текущий символ должен обрабатываться как не математический символ.
-
matplotlib.mathtext.math_to_image(s, filename_or_obj, prop=None, dpi=None, format=None)[source] -
Преобразует математическое выражение в изображение, используя чётко ограниченный прямоугольник.
- s
- Математическое выражение. Математическая часть должна быть заключена в знаки доллара.
- filename_or_obj
- Путь к файлу или записываемому объекту для записи данных изображения.
- prop
- Если задан, объект FontProperties() описывает размер и стиль текста.
- dpi
- Замена выходной плотности пикселей на дюйм. В противном случае используется значение по умолчанию, связанное с выходным форматом.
- format
- Формат вывода, например, 'svg', 'pdf', 'ps' или 'png'. Если не задан, будет определён из имени файла.
-
matplotlib.mathtext.unichr_safe(index)[source] -
Возвращает символ Unicode, соответствующий индексу, или символ замены, если это узкая версия Python, а запрашиваемый символ находится вне BMP.
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/2.2.3/api/mathtext_api.html