matplotlib.mathtext
Модуль для разбора подмножества синтаксиса TeX для математики и рендеринга его в бэкенде Matplotlib.
Для получения обучающего пособия по его использованию см. Написание математических выражений. Данный документ главным образом посвящен деталям реализации.
В модуле используется pyparsing для разбора выражения TeX.
Поддерживаются дистрибутив шрифтов TeX Computer Modern от Bakoma и шрифты STIX. Существует экспериментальная поддержка использования произвольных шрифтов, но результаты могут различаться без соответствующей настройки и метрик для этих шрифтов.
-
class matplotlib.mathtext.Accent(c, state, math=True)[source] -
Базовый класс:
matplotlib.mathtext.CharМетрики шрифта для акцентов необходимо обрабатывать по-другому, так как они уже правильно смещены от базовой линии в шрифтах TrueType.
-
grow(self)[source] -
Увеличивает размер на один уровень. Нет ограничений на максимальный размер.
-
render(self, x, y)[source] -
Отображает символ на холсте.
-
shrink(self)[source] -
Уменьшает размер на один уровень. После трёх уровней уменьшения, размер больше не будет изменяться.
-
-
class matplotlib.mathtext.AutoHeightChar(c, height, depth, state, always=False, factor=None)[source] -
Bases:
matplotlib.mathtext.HlistСимвол с высотой и глубиной, максимально приближенными к заданным.
При использовании шрифта с несколькими вариантами высоты некоторых символов (например, шрифтов BaKoMa) будет выбран правильный глиф; в противном случае всегда будет возвращаться масштабированная версия глифа.
-
class matplotlib.mathtext.AutoWidthChar(c, width, state, always=False, char_class=<class 'matplotlib.mathtext.Char'>)[source] -
Bases:
matplotlib.mathtext.HlistСимвол с шириной, максимально приближенной к заданной.
При использовании шрифта с несколькими вариантами ширины некоторых символов (например, шрифтов BaKoMa) будет выбран правильный глиф; в противном случае всегда будет возвращаться масштабированная версия глифа.
-
class matplotlib.mathtext.BakomaFonts(*args, **kwargs)[source] -
Bases:
matplotlib.mathtext.TruetypeFontsИспользование шрифтов Bakoma TrueType для рендеринга.
Символы разбросаны по нескольким файлам шрифтов, каждый из которых имеет собственную собственную кодировку 8-бит.
Параметры: - default_font_prop: `~.font_manager.FontProperties`
-
Стандартный шрифт, не используемый для математических символов, или базовый шрифт для рендеринга символов Юникода (общий).
- mathtext_backend: `MathtextBackend` subclass
-
Подсистема, к которой фактически делегируется рендеринг.
-
alias = '\\]'
-
get_sized_alternatives_for_symbol(self, fontname, sym)[source] -
Переопределите, если ваш шрифт предоставляет несколько размеров одного и того же символа. Должно вернуть список символов, соответствующих символу в различных размерах. Обработчик выражений выберет наиболее подходящий размер для данной ситуации из этого списка.
-
target = ']'
-
class matplotlib.mathtext.Box(width, height, depth)[source] -
Bases:
matplotlib.mathtext.NodeУзел с физическим расположением.
-
grow(self)[source] -
Увеличивает размер на один уровень. Нет ограничений на максимальный размер.
-
render(self, x1, y1, x2, y2)[source]
-
shrink(self)[source] -
Уменьшает размер на один уровень. Существует только три уровня уменьшения размера, после чего дальнейшее уменьшение невозможно.
-
-
class matplotlib.mathtext.Char(c, state, math=True)[source] -
Bases:
matplotlib.mathtext.NodeОдин символ.
В отличие от TeX, информация о шрифте и метрики хранятся с каждым
Char, чтобы облегчить поиск метрик шрифта при необходимости. Обратите внимание, что TeX-боксы имеют ширину, высоту и глубину, в отличие от Type1 и TrueType, которые используют полную ограничивающую рамку и продвижение по оси x. Метрики необходимо преобразовать в TeX-модель, а продвижение (если оно отличается от ширины) необходимо преобразовать в узелKern, когдаCharдобавляется к родительскому узлуHlist.-
get_kerning(self, next)[source] -
Возвращает величину кернинга между этим и заданным символом.
Этот метод вызывается, когда символы объединяются в
Hlistдля создания узловKern.
-
grow(self)[source] -
Увеличивает размер на один уровень. Нет ограничений на максимальный размер.
-
is_slanted(self)[source]
-
render(self, x, y)[source] -
Отображает символ на холсте
-
shrink(self)[source] -
Уменьшает размер на один уровень. Существует только три уровня уменьшения размера, после чего дальнейшее уменьшение невозможно.
-
-
class matplotlib.mathtext.ComputerModernFontConstants[source] -
Bases:
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)[source] -
Bases:
matplotlib.mathtext.UnicodeFontsПараметры: - default_font_prop: `~.font_manager.FontProperties`
-
Стандартный шрифт, не используемый для математических символов, или базовый шрифт для рендеринга символов Юникода (общий).
- mathtext_backend: `MathtextBackend` subclass
-
Подсистема, к которой фактически делегируется рендеринг.
-
use_cmex = False
-
class matplotlib.mathtext.DejaVuSansFontConstants[source]
-
class matplotlib.mathtext.DejaVuSansFonts(*args, **kwargs)[source] -
Bases:
matplotlib.mathtext.DejaVuFontsКласс обработки шрифтов DejaVu Sans
Если глиф не найден, он переходит к Stix Sans
Параметры: - default_font_prop: `~.font_manager.FontProperties`
-
Стандартный шрифт без математических символов или базовый шрифт для рендеринга Unicode (обобщённый).
- mathtext_backend: `MathtextBackend` subclass
-
Бэкенд, которому фактически делегируется рендеринг.
-
class matplotlib.mathtext.DejaVuSerifFontConstants[source]
-
class matplotlib.mathtext.DejaVuSerifFonts(*args, **kwargs)[source] -
Bases:
matplotlib.mathtext.DejaVuFontsКласс обработки шрифтов DejaVu Serif
Если глиф не найден, он переходит к Stix Serif
Параметры: - default_font_prop: `~.font_manager.FontProperties`
-
Стандартный шрифт без математических символов или базовый шрифт для рендеринга Unicode (обобщённый).
- mathtext_backend: `MathtextBackend` subclass
-
Бэкенд, которому фактически делегируется рендеринг.
-
matplotlib.mathtext.Error(msg)[source] -
Вспомогательный класс для повышения ошибок парсера.
-
class matplotlib.mathtext.Fil(**kwargs)[source] -
Bases:
matplotlib.mathtext.Glue[Устарело]
Примечания
Устарело начиная с версии 3.3:
-
class matplotlib.mathtext.Fill(**kwargs)[source] -
Bases:
matplotlib.mathtext.Glue[Устарело]
Примечания
Устарело начиная с версии 3.3:
-
class matplotlib.mathtext.Filll(**kwargs)[source] -
Bases:
matplotlib.mathtext.Glue[Устарело]
Примечания
Устарело начиная с версии 3.3:
-
class matplotlib.mathtext.FontConstantsBase[source] -
Bases:
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)[source] -
Bases:
objectАбстрактный базовый класс для системы шрифтов, используемых для mathtext.
Класс должен уметь принимать ключи символов и имена файлов шрифтов и возвращать метрики символов. Он также делегирует фактическое отрисовку классу бэкенда.
Параметры: - default_font_prop: `~.font_manager.FontProperties`
-
Стандартный шрифт без математических символов или базовый шрифт для рендеринга Unicode (общий) шрифтов.
- mathtext_backend: `MathtextBackend` подкласс
-
Бэкенд, которому фактически делегируется рендеринг.
-
destroy(self)[source] -
Исправить все циклические ссылки перед уничтожением объекта.
-
get_kern(self, 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_metrics(self, font, font_class, sym, fontsize, dpi, math=True)[source] -
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(self, box)[source] -
Получить данные, необходимые бэкенду для рендеринга математического выражения. Значение возврата зависит от бэкенда.
-
get_sized_alternatives_for_symbol(self, fontname, sym)[source] -
Переопределить, если ваш шрифт предоставляет несколько размеров одного и того же символа. Должен вернуть список символов, соответствующих sym в различных размерах. Генератор выражений выберет наиболее подходящий размер для данной ситуации из этого списка.
-
get_underline_thickness(self, font, fontsize, dpi)[source] -
Получить толщину линии, соответствующую данному шрифту. Используется в качестве базовой единицы для рисования линий, например, в дроби или радикале.
-
get_used_characters(self)[source] -
Получить набор символов, которые были использованы в математическом выражении. Используется бэкендами, которые нуждаются в подмножестве шрифтов, чтобы знать, какие глифы включать.
-
get_xheight(self, font, fontsize, dpi)[source] -
Получить xheight для данного font и fontsize.
-
render_glyph(self, ox, oy, facename, font_class, sym, fontsize, dpi)[source] -
Отрисовать глиф в
- ox, oy: позиция
- facename: Одно из имён шрифта TeX
- font_class:
- sym: имя символа TeX или одиночный символ
- fontsize: размер шрифта в пунктах
- dpi: dpi для отрисовки.
-
render_rect_filled(self, x1, y1, x2, y2)[source] -
Отрисовать заполненный прямоугольник от (x1, y1) до (x2, y2).
-
set_canvas_size(self, w, h, d)[source] -
Установить размер буфера, используемого для рендеринга математического выражения. Необходим только для бэкендов с растровой графикой.
-
class matplotlib.mathtext.Glue(glue_type, copy=<deprecated parameter>)[source] -
Bases:
matplotlib.mathtext.NodeБольшая часть информации в этом объекте хранится в базовом классе
_GlueSpec, который совместно используется между несколькими объектами glue. (Это оптимизация памяти, которая, вероятно, больше не важна, но проще придерживаться того, что делает TeX.)-
property glue_subtype
-
grow(self)[source] -
Увеличивается на один уровень. Нет ограничений на то, насколько большим может стать что-либо.
-
shrink(self)[source] -
Уменьшается на один уровень. Существует только три уровня размеров, после чего объекты больше не будут уменьшаться.
-
-
class matplotlib.mathtext.GlueSpec(**kwargs)[source] -
Bases:
object[Устарело] См.
Glue.Примечания
Устарело начиная с версии 3.3.
-
copy(self)[source]
-
classmethod factory(glue_type)[source]
-
-
class matplotlib.mathtext.HCentered(elements)[source] -
Bases:
matplotlib.mathtext.HlistКласс-обёртка для создания
Hlist, содержимое которого центрировано внутри его ограничивающей рамки.
-
class matplotlib.mathtext.Hbox(width)[source] -
Bases:
matplotlib.mathtext.BoxПрямоугольник с шириной (нулевая высота и глубина).
-
class matplotlib.mathtext.Hlist(elements, w=0.0, m='additional', do_kern=True)[source] -
Основы:
matplotlib.mathtext.ListГоризонтальный список ящиков.
-
hpack(self, w=0.0, m='additional')[source] -
Вычисление размеров результирующих ящиков и корректировка отступов, если один из этих размеров задан заранее. Вычисленные размеры обычно охватывают весь материал внутри нового ящика; но некоторые элементы могут выступать за пределы, если используется отрицательный отступ, если ящик переполнен или если
\vboxвключает другие ящики, которые были сдвинуты влево.Параметры: -
wfloat, default: 0 -
Ширина.
-
m{'exactly', 'additional'}, default: 'additional' -
Определяет, будет ли создан ящик с шириной 'точно' w или ящик с естественной шириной содержимого плюс w ('дополнительный').
Примечания
По умолчанию создается ящик с естественной шириной содержимого.
-
-
kern(self)[source] -
Вставка узлов
Kernмежду узламиCharдля установки кернинга.Узлы
Charсами определяют требуемое значение кернинга (вget_kerning), и эта функция просто создает правильный связанный список.
-
-
class matplotlib.mathtext.Hrule(state, thickness=None)[source] -
Основы:
matplotlib.mathtext.RuleУдобный класс для создания горизонтальной линии.
-
class matplotlib.mathtext.Kern(width)[source] -
Основы:
matplotlib.mathtext.NodeУзел
Kernимеет поле ширины, чтобы указать (обычно отрицательное) значение отступа. Эта корректировка отступа появляется в горизонтальных списках между буквами, как A и V, когда дизайнер шрифтов сказал, что это выглядит лучше, если их сдвинуть ближе или дальше друг от друга. Узел керна также может появляться в вертикальном списке, когда его ширина обозначает дополнительный отступ в вертикальном направлении.-
depth = 0
-
grow(self)[source] -
Увеличение размера на один уровень. Нет ограничений на максимальный размер.
-
height = 0
-
shrink(self)[source] -
Уменьшение размера на один уровень. Существует только три уровня размеров, после чего уменьшение больше невозможно.
-
-
class matplotlib.mathtext.List(elements)[source] -
Основы:
matplotlib.mathtext.BoxСписок узлов (горизонтальный или вертикальный).
-
grow(self)[source] -
Увеличение размера на один уровень. Нет ограничений на максимальный размер.
-
shrink(self)[source] -
Уменьшение размера на один уровень. Существует только три уровня размеров, после чего уменьшение больше невозможно.
-
-
class matplotlib.mathtext.MathTextParser(output)[source] -
Bases:
objectСоздаёт MathTextParser для заданного бэкенда вывода.
-
get_depth(self, texstr, dpi=120, fontsize=14)[source] -
Параметры: -
texstrstr -
Коректная строка mathtext, например, r'IQ: $sigma_i=15$'.
-
dpifloat -
Настройка точек на дюйм, используемая для рендеринга текста.
Возвращает: - int
-
Смещение базовой линии от нижней части изображения в пикселях.
-
-
parse(self, s, dpi=72, prop=None)[source] -
Парсит заданное математическое выражение s при заданном dpi. Если prop предоставлен, это объект
FontProperties, определяющий "стандартный" шрифт для использования в математическом выражении, используемый для всего текста, не являющегося математическим.Результаты кэшируются, поэтому несколько вызовов
parseс одним и тем же выражением должны быть быстрыми.
-
to_mask(self, texstr, dpi=120, fontsize=14)[source] -
Параметры: -
texstrstr -
Коректная строка mathtext, например, r'IQ: $sigma_i=15$'.
-
dpifloat -
Настройка точек на дюйм, используемая для рендеринга текста.
-
fontsizeint -
Размер шрифта в пунктах
Возвращает: -
array2D uint8 alpha -
Маска массива растрового tex.
-
depthint -
Смещение базовой линии от нижней части изображения в пикселях.
-
-
to_png(self, filename, texstr, color='black', dpi=120, fontsize=14)[source] -
Рендерит tex выражение в файл PNG.
Параметры: - filename
-
Запись в файл или файл-объект.
-
texstrstr -
Коректная строка mathtext, например, r'IQ: $sigma_i=15$'.
-
colorcolor -
Цвет текста.
-
dpifloat -
Настройка точек на дюйм, используемая для рендеринга текста.
-
fontsizeint -
Размер шрифта в пунктах.
Возвращает: - int
-
Смещение базовой линии от нижней части изображения в пикселях.
-
to_rgba(self, texstr, color='black', dpi=120, fontsize=14)[source] -
Параметры: -
texstrstr -
Коректная строка mathtext, например, r'IQ: $sigma_i=15$'.
-
colorcolor -
Цвет текста.
-
dpifloat -
Настройка точек на дюйм, используемая для рендеринга текста.
-
fontsizeint -
Размер шрифта в пунктах.
Возвращает: -
array(M, N, 4) array -
RGBA значения цвета растрового tex, цветного с помощью color.
-
depthint -
Смещение базовой линии от нижней части изображения в пикселях.
-
-
-
exception matplotlib.mathtext.MathTextWarning[source] -
Bases:
Warning
-
class matplotlib.mathtext.MathtextBackend[source] -
Bases:
objectБазовый класс для кода, специфичного для бэкенда mathtext.
MathtextBackendподклассы обеспечивают интерфейс между mathtext и конкретными графическими бэкендами Matplotlib.Подклассы должны переопределять следующее:
И необязательно, если вам нужно использовать стиль подсказок FreeType:
-
get_hinting_type(self)[source] -
Получить тип подсказок FreeType для использования с этим конкретным бэкендом.
-
get_results(self, box)[source] -
Возвращает кортеж, специфичный для бэкенда, который нужно вернуть бэкенду после завершения всей обработки.
-
render_glyph(self, ox, oy, info)[source] -
Отобразить глиф, описанный в info, в точке отсчёта (ox, oy).
-
render_rect_filled(self, x1, y1, x2, y2)[source] -
Отобразить заполненный чёрный прямоугольник от (x1, y1) до (x2, y2).
-
set_canvas_size(self, w, h, d)[source] -
Установить размер холста для рисования.
-
-
class matplotlib.mathtext.MathtextBackendAgg[source] -
Bases:
matplotlib.mathtext.MathtextBackendОтображает глифы и прямоугольники в буфере FTImage, который затем передаётся в изображение Agg бэкэндом.
-
get_hinting_type(self)[source] -
Получить тип подсказки FreeType для использования с этим бэкэндом.
-
get_results(self, box, used_characters)[source] -
Возвращает кортеж, специфичный для бэкэнда, для возврата бэкэнду после завершения всех операций.
-
render_glyph(self, ox, oy, info)[source] -
Отображает глиф, описанный в info, в точке отсчёта (ox, oy).
-
render_rect_filled(self, x1, y1, x2, y2)[source] -
Отрисовать заполненный чёрный прямоугольник от (x1, y1) до (x2, y2).
-
set_canvas_size(self, w, h, d)[source] -
Установить размеры холста для отрисовки.
-
-
class matplotlib.mathtext.MathtextBackendBitmap[source] -
Bases:
matplotlib.mathtext.MathtextBackendAgg-
get_results(self, box, used_characters)[source] -
Возвращает кортеж, специфичный для бэкэнда, для возврата бэкэнду после завершения всех операций.
-
-
class matplotlib.mathtext.MathtextBackendCairo[source] -
Bases:
matplotlib.mathtext.MathtextBackendСохраняет информацию для записи отрисовки mathtext в бэкенд Cairo.
-
get_results(self, box, used_characters)[source] -
Возвращает кортеж, специфичный для бэкэнда, для возврата бэкэнду после завершения всех операций.
-
render_glyph(self, ox, oy, info)[source] -
Отображает глиф, описанный в info, в точке отсчёта (ox, oy).
-
render_rect_filled(self, x1, y1, x2, y2)[source] -
Отрисовать заполненный чёрный прямоугольник от (x1, y1) до (x2, y2).
-
-
class matplotlib.mathtext.MathtextBackendPath[source] -
Bases:
matplotlib.mathtext.MathtextBackendСохраняет информацию для записи отрисовки mathtext в механизм путей текста.
-
get_results(self, box, used_characters)[source] -
Возвращает кортеж, специфичный для бэкэнда, для возврата бэкэнду после завершения всех операций.
-
render_glyph(self, ox, oy, info)[source] -
Отображает глиф, описанный в info, в точке отсчёта (ox, oy).
-
render_rect_filled(self, x1, y1, x2, y2)[source] -
Отрисовать заполненный чёрный прямоугольник от (x1, y1) до (x2, y2).
-
-
class matplotlib.mathtext.MathtextBackendPdf[source] -
Bases:
matplotlib.mathtext.MathtextBackendСохраняет информацию для записи отрисовки mathtext в бэкенд PDF.
-
get_results(self, box, used_characters)[source] -
Возвращает кортеж, специфичный для бэкэнда, для возврата бэкэнду после завершения всех операций.
-
render_glyph(self, ox, oy, info)[source] -
Отображает глиф, описанный в info, в точке отсчёта (ox, oy).
-
render_rect_filled(self, x1, y1, x2, y2)[source] -
Отрисовать заполненный чёрный прямоугольник от (x1, y1) до (x2, y2).
-
-
class matplotlib.mathtext.MathtextBackendPs[source] -
Bases:
matplotlib.mathtext.MathtextBackendСохраняет информацию для записи отрисовки mathtext в бэкенд PostScript.
-
get_results(self, box, used_characters)[source] -
Возвращает кортеж, специфичный для бэкэнда, для возврата бэкэнду после завершения всех операций.
-
render_glyph(self, ox, oy, info)[source] -
Отображает глиф, описанный в info, в точке отсчёта (ox, oy).
-
render_rect_filled(self, x1, y1, x2, y2)[source] -
Отрисовать заполненный чёрный прямоугольник от (x1, y1) до (x2, y2).
-
-
class matplotlib.mathtext.MathtextBackendSvg[source] -
Bases:
matplotlib.mathtext.MathtextBackendХранит информацию для отрисовки математического текста в формате SVG.
-
get_results(self, box, used_characters)[source] -
Возвращает кортеж, специфичный для бэкенда, который будет возвращён бэкенду после завершения всех операций.
-
render_glyph(self, ox, oy, info)[source] -
Отрисовывает глиф, описанный в info, в точку с координатами (ox, oy).
-
render_rect_filled(self, x1, y1, x2, y2)[source] -
Отрисовывает заполненный чёрный прямоугольник от точки (x1, y1) до точки (x2, y2).
-
-
class matplotlib.mathtext.NegFil(**kwargs)[source] -
Bases:
matplotlib.mathtext.Glue[Устарело]
Примечания
Устарело начиная с версии 3.3:
-
class matplotlib.mathtext.NegFill(**kwargs)[source] -
Bases:
matplotlib.mathtext.Glue[Устарело]
Примечания
Устарело начиная с версии 3.3:
-
class matplotlib.mathtext.NegFilll(**kwargs)[source] -
Bases:
matplotlib.mathtext.Glue[Устарело]
Примечания
Устарело начиная с версии 3.3:
-
class matplotlib.mathtext.Node[source] -
Bases:
objectУзел в модели TeX-блока.
-
get_kerning(self, next)[source]
-
grow(self)[source] -
Увеличивает размер на один уровень. Размер может увеличиваться без ограничений.
-
render(self, x, y)[source]
-
shrink(self)[source] -
Уменьшает размер на один уровень. Есть всего три уровня уменьшения размера, после чего размер больше не уменьшается.
-
-
class matplotlib.mathtext.Parser[source] -
Bases:
objectПарсер на основе pyparsing для строк, содержащих математические выражения.
Необработанный текст также может появляться вне пар пар
$.Грамматика основана непосредственно на грамматике TeX, хотя некоторые упрощения сделаны.
-
class State(font_output, font, font_class, fontsize, dpi)[source] -
Bases:
objectХранит состояние парсера.
Состояния помещаются и извлекаются из стека по мере необходимости, и "текущее" состояние всегда находится вверху стека.
-
copy(self)[source]
-
property font
-
-
accent(self, s, loc, toks)[source]
-
accentprefixed(self, s, loc, toks)
-
auto_delim(self, s, loc, toks)[source]
-
binom(self, s, loc, toks)[source]
-
c_over_c(self, s, loc, toks)[source]
-
customspace(self, s, loc, toks)[source]
-
dfrac(self, s, loc, toks)[source]
-
end_group(self, s, loc, toks)[source]
-
font(self, s, loc, toks)[source]
-
frac(self, s, loc, toks)[source]
-
function(self, s, loc, toks)[source]
-
genfrac(self, s, loc, toks)[source]
-
get_state(self)[source] -
Получить текущее состояние
Stateпарсера.
-
group(self, s, loc, toks)[source]
-
is_between_brackets(self, s, loc)[source]
-
is_dropsub(self, nucleus)[source]
-
is_overunder(self, nucleus)[source]
-
is_slanted(self, nucleus)[source]
-
main(self, s, loc, toks)[source]
-
math(self, s, loc, toks)[source]
-
math_string(self, s, loc, toks)[source]
-
non_math(self, s, loc, toks)[source]
-
operatorname(self, s, loc, toks)[source]
-
overline(self, s, loc, toks)[source]
-
parse(self, s, fonts_object, fontsize, dpi)[source] -
Парсинг выражения s, используя заданный объект шрифтов fonts_object для вывода, при заданном fontsize и dpi.
Возвращает дерево разбора из экземпляров
Node.
-
pop_state(self)[source] -
Извлечь состояние
Stateиз стека.
-
push_state(self)[source] -
Поместить новое состояние
Stateв стек, скопировав текущее состояние.
-
required_group(self, s, loc, toks)
-
simple_group(self, s, loc, toks)
-
space(self, s, loc, toks)[source]
-
sqrt(self, s, loc, toks)[source]
-
start_group(self, s, loc, toks)[source]
-
subsuper(self, s, loc, toks)[source]
-
symbol(self, s, loc, toks)[source]
-
unknown_symbol(self, s, loc, toks)[source]
-
-
class matplotlib.mathtext.Rule(width, height, depth, state)[source] -
Базовый класс:
matplotlib.mathtext.BoxПрямоугольник тёмно-чёрного цвета.
У него есть поля width, depth и height, как и в
Hlist. Однако, если любое из этих размеров равно inf, фактическое значение будет определяться выполнением правила до границы самого внутреннего ограничивающего прямоугольника. Это называется «переменным размером». Ширина никогда не является переменной вHlist; высота и глубина никогда не являются переменными вVlist.-
render(self, 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(self, box)[source]
-
vlist_out(self, box)[source]
-
-
class matplotlib.mathtext.SsGlue(**kwargs)[source] -
Базовый класс:
matplotlib.mathtext.Glue[Устарело]
Примечания
Устарело начиная с версии 3.3:
-
class matplotlib.mathtext.StandardPsFonts(default_font_prop)[source] -
Базовый класс:
matplotlib.mathtext.FontsИспользуйте стандартные шрифты PostScript для рендеринга в backend_ps
В отличие от других классов шрифтов, BakomaFont и UnicodeFont, этот класс требует Ps backend.
Параметры: - default_font_prop: `~.font_manager.FontProperties`
-
Стандартный шрифт без математических символов или базовый шрифт для рендеринга шрифтов Unicode (общий).
- mathtext_backend: `MathtextBackend` подкласс
-
Backend, которому на самом деле делегирован рендеринг.
-
basepath = '/usr/local/lib64/python3.8/site-packages/matplotlib/mpl-data/fonts/afm'
-
fontmap = {'cal': 'pzcmi8a', 'rm': 'pncr8a', 'tt': 'pcrr8a', 'it': 'pncri8a', 'sf': 'phvr8a', 'bf': 'pncb8a', None: 'psyr'}
-
get_kern(self, 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(self, font, fontsize, dpi)[source] -
Получение толщины линии, соответствующей данному шрифту. Используется в качестве базовой единицы для рисования линий, таких как в дроби или радикале.
-
get_xheight(self, font, fontsize, dpi)[source] -
Получение xheight для данного font и fontsize.
-
class matplotlib.mathtext.StixFonts(*args, **kwargs)[source] -
Базовый класс:
matplotlib.mathtext.UnicodeFontsКласс для обработки шрифтов STIX.
В дополнение к тому, что предоставляет UnicodeFonts, этот класс:
- поддерживает «виртуальные шрифты», которые представляют собой полные наборы букв и цифр с различными стилями шрифтов в особых кодах Unicode, таких как «Чёрный».
- обрабатывает альтернативные символы разных размеров для шрифтов STIXSizeX.
Параметры: - default_font_prop: `~.font_manager.FontProperties`
-
Стандартный шрифт без математических символов или базовый шрифт для рендеринга шрифтов Unicode (общий).
- mathtext_backend: `MathtextBackend` подкласс
-
Backend, которому на самом деле делегирован рендеринг.
-
cm_fallback = False
-
get_sized_alternatives_for_symbol(self, fontname, sym)[source] -
Переопределите, если ваш шрифт предоставляет несколько размеров одного и того же символа. Должен вернуть список символов, соответствующих символу в различных размерах. Редактор выражений выберет наиболее подходящий размер из этого списка для данной ситуации.
-
use_cmex = False
-
class matplotlib.mathtext.StixSansFonts(*args, **kwargs)[source] -
Базы:
matplotlib.mathtext.StixFontsКласс обработки шрифтов STIX (по умолчанию использует шрифты без засечек).
Параметры: - default_font_prop: `~.font_manager.FontProperties`
-
Стандартный шрифт без математических символов или базовый шрифт для рендеринга символов Юникода (универсальный).
- mathtext_backend: `MathtextBackend` подкласс
-
Подкласс, которому фактически делегируется рендеринг.
-
class matplotlib.mathtext.SubSuperCluster[source] -
Базы:
matplotlib.mathtext.HlistОбходная операция, связанная с тем, что этот код выполняет двухпроходный анализ, подобно TeX. Это позволяет нам хранить достаточную информацию в самом hlist, а именно ядро, нижний и верхний индексы, таким образом, если за ним следует другой индекс, который нужно добавить, его можно переконфигурировать на лету.
-
class matplotlib.mathtext.TruetypeFonts(default_font_prop, mathtext_backend)[source] -
Базы:
matplotlib.mathtext.FontsОбщий базовый класс для всех настроек шрифтов, использующих шрифты TrueType (через FT2Font).
Параметры: - default_font_prop: `~.font_manager.FontProperties`
-
Стандартный шрифт без математических символов или базовый шрифт для рендеринга символов Юникода (универсальный).
- mathtext_backend: `MathtextBackend` подкласс
-
Подкласс, которому фактически делегируется рендеринг.
-
destroy(self)[source] -
Исправление циклических ссылок перед уничтожением объекта.
-
get_kern(self, 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(self, font, fontsize, dpi)[source] -
Получение толщины подчеркивания, соответствующей данному шрифту. Используется в качестве базовой единицы для рисования линий, например, в дроби или радикале.
-
get_xheight(self, fontname, fontsize, dpi)[source] -
Получение x-высоты для данного font и fontsize.
-
class matplotlib.mathtext.UnicodeFonts(*args, **kwargs)[source] -
Базы:
matplotlib.mathtext.TruetypeFontsАбстрактный базовый класс для обработки шрифтов Юникода.
Хотя некоторые достаточно полные шрифты Юникода (такие как DejaVu) могут работать в некоторых ситуациях, единственный шрифт Юникода, о котором мне известно, имеющий полный набор математических символов, это STIX.
Этот класс будет использовать шрифты Bakoma по умолчанию, когда необходимый символ не найден в шрифте.
Параметры: - default_font_prop: `~.font_manager.FontProperties`
-
Стандартный шрифт без математических символов или базовый шрифт для рендеринга символов Юникода (универсальный).
- mathtext_backend: `MathtextBackend` подкласс
-
Подкласс, которому фактически делегируется рендеринг.
-
get_sized_alternatives_for_symbol(self, fontname, sym)[source] -
Переопределить, если ваш шрифт предоставляет несколько размеров одного и того же символа. Должен вернуть список символов, соответствующих sym в различных размерах. Рендеринг выражения выберет наиболее подходящий размер из этого списка в данной ситуации.
-
use_cmex = True
-
class matplotlib.mathtext.VCentered(elements)[source] -
Базы:
matplotlib.mathtext.VlistКласс-обёртка для создания
Vlistс центрированным содержимым внутри его ограничительной области.
-
class matplotlib.mathtext.Vbox(height, depth)[source] -
Базы:
matplotlib.mathtext.BoxПрямоугольник с высотой (ширина равна нулю).
-
class matplotlib.mathtext.Vlist(elements, h=0.0, m='additional')[source] -
Базы:
matplotlib.mathtext.ListВертикальный список прямоугольников.
-
vpack(self, h=0.0, m='additional', l=inf)[source] -
Вычисление размеров результирующих прямоугольников и корректировка расстояний, если один из этих размеров предварительно задан.
Параметры: -
hfloat, default: 0 -
Высота.
-
m{'exactly', 'additional'}, default: 'additional' -
Определить, должно ли прямоугольник иметь ровно заданную высоту w или высоту, равную естественной высоте содержимого плюс w (дополнительная).
-
lfloat, default: np.inf -
Максимальная высота.
Примечания
По умолчанию создаётся прямоугольник с естественной высотой содержимого.
-
-
-
class matplotlib.mathtext.Vrule(state)[source] -
Базы:
matplotlib.mathtext.RuleКласс-обёртка для создания вертикальной линии.
-
matplotlib.mathtext.get_unicode_index(symbol, math=True)[source] -
Возвращает целочисленный индекс (из таблицы Юникода) символа symbol.
Параметры: -
symbolstr -
Один символ Юникода, команда TeX (например, r'pi') или имя символа Type1 (например, 'phi').
-
mathbool, default: True -
Если False, всегда обрабатывать как один символ Юникода.
-
-
matplotlib.mathtext.math_to_image(s, filename_or_obj, prop=None, dpi=None, format=None)[source] -
Дано математическое выражение, оно отрисовывается в тесно ограниченной области в файл изображения.
Параметры: -
sstr -
Математическое выражение. Математическая часть должна быть заключена в знаки доллара.
-
filename_or_objstr or path-like or file-like -
Куда записать данные изображения.
-
propFontProperties, optional -
Размер и стиль текста.
-
dpifloat, optional -
Точки на дюйм выходных данных. Если не задано, то dpi определяется так же, как для
Figure.savefig. -
formatstr, optional -
Формат выходных данных, например, 'svg', 'pdf', 'ps' или 'png'. Если не задано, то формат определяется так же, как для
Figure.savefig.
-
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.3.3/api/mathtext_api.html