mathtext
matplotlib.mathtext
mathtext — модуль для разбора подмножества синтаксиса TeX для математических выражений и их отрисовки в бэкенде matplotlib.
Для ознакомления с использованием см. Написание математических выражений. Этот документ в основном посвящен деталям реализации.
Модуль использует pyparsing для разбора выражения TeX.
Поддерживаются шрифты Computer Modern из дистрибутива Bakoma TeX и шрифты 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)[источник] -
Переопределите, если ваш шрифт предоставляет несколько размеров одного и того же символа. Должно вернуть список символов, соответствующих 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[источник] -
Базовые классы:
matplotlib.mathtext.FontConstantsBase
-
class matplotlib.mathtext.DejaVuSansFonts(*args, **kwargs)[источник] -
Базовые классы:
matplotlib.mathtext.DejaVuFontsКласс обработки шрифтов DejaVu Sans.
Если глиф не найден, используется шрифт Stix Sans.
-
class matplotlib.mathtext.DejaVuSerifFontConstants[источник] -
Базовые классы:
matplotlib.mathtext.FontConstantsBase
-
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)[источник] -
Переопределите метод, если ваш шрифт предоставляет несколько размеров одного символа. Он должен возвращать список символов, соответствующих 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имеет поле ширины, указывающее величину (обычно отрицательную) отступа. Это изменение отступа появляется в горизонтальных списках между буквами, например А и В, когда дизайнер шрифта считает, что их следует сдвинуть ближе или дальше друг от друга. Узел кернинга также может появиться в вертикальном списке, где его ширина обозначает дополнительный отступ в вертикальном направлении.-
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. Если указан prop, это объект
FontProperties, определяющий «стандартный» шрифт для использования в математическом выражении; он используется для всего текста, не являющегося математическим.Результаты кешируются, поэтому несколько вызовов
parse()с одним и тем же выражением должны выполняться быстро.
-
to_mask(texstr, dpi=120, fontsize=14)[источник] -
- texstr
- Допустимая строка mathtext, например, r'IQ: $sigma_i=15$'
- dpi
- Точки на дюйм для рендеринга текста
- fontsize
- Размер шрифта в пунктах
Возвращает кортеж (массив, глубина)
- массив — массив масок растрового TeX размером NxM, типа uint8 alpha ubyte.
- глубина — смещение базовой линии от нижнего края изображения в пикселях.
-
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
- Размер шрифта в пунктах
Возвращает кортеж (массив, глубина)
- массив — массив масок растрового TeX размером NxM, типа uint8 alpha ubyte.
- глубина — смещение базовой линии от нижнего края изображения в пикселях.
-
-
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.
-
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_doc_build/lib/python3.7/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 для данного шрифта font и размера fontsize.
-
-
class matplotlib.mathtext.StixFonts(*args, **kwargs)[исходный код] -
Основы:
matplotlib.mathtext.UnicodeFontsКласс обработки шрифтов для шрифтов STIX.
В дополнение к тому, что предоставляет UnicodeFonts, этот класс:
- поддерживает «виртуальные шрифты», которые представляют собой полные наборы символов латинского алфавита с различными стилями шрифтов в специальных кодах Unicode, таких как «Blackboard».
- обрабатывает альтернативные символы размером для шрифтов STIXSizeX.
-
cm_fallback = False
-
get_sized_alternatives_for_symbol(fontname, sym)[исходный код] -
Переопределите, если ваш шрифт предоставляет несколько размеров одного и того же символа. Должен вернуть список символов, соответствующих символу в различных размерах. Рендеринг выражения выберет наиболее подходящий размер для данной ситуации из этого списка.
-
use_cmex = False
-
class matplotlib.mathtext.StixSansFonts(*args, **kwargs)[исходный код] -
Основы:
matplotlib.mathtext.StixFontsКласс обработки шрифтов для шрифтов STIX (по умолчанию использует шрифты без засечек).
-
class matplotlib.mathtext.SubSuperCluster[исходный код] -
Основы:
matplotlib.mathtext.HlistSubSuperCluster— это своего рода хак для решения проблемы, что данный код выполняет двухочередной анализ, как и TeX. Это позволяет хранить достаточно информации в самом элементе hlist, а именно ядро, нижний и верхний индексы, таким образом, что если за ним следует другой индекс, который нужно прикрепить, его можно переконфигурировать на лету.
-
class matplotlib.mathtext.TruetypeFonts(default_font_prop, mathtext_backend)[исходный код] -
Базовый класс для всех наборов шрифтов, использующих шрифты TrueType (через FT2Font).
-
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_underline_thickness(font, fontsize, dpi)[исходный код] -
Получение толщины линии, соответствующей заданному шрифту. Используется как базовая единица для рисования линий, например, в дроби или радикале.
-
get_xheight(fontname, fontsize, dpi)[исходный код] -
Получение x-высоты для заданного font и fontsize.
-
-
class matplotlib.mathtext.UnicodeFonts(*args, **kwargs)[исходный код] -
Базовый класс для обработки шрифтов Unicode.
Хотя некоторые достаточно полные шрифты Unicode (например, DejaVu) могут работать в некоторых ситуациях, единственный шрифт Unicode, о котором мне известно, с полным набором математических символов — STIX.
Этот класс будет использовать шрифты Bakoma в качестве резервного варианта, когда требуемый символ не найден в шрифте.
-
get_sized_alternatives_for_symbol(fontname, sym)[исходный код] -
Переопределите, если ваш шрифт предоставляет несколько размеров одного и того же символа. Должен вернуть список символов, соответствующих sym в различных размерах. Диспетчер выражений выберет наиболее подходящий размер из этого списка для данной ситуации.
-
use_cmex = True
-
-
class matplotlib.mathtext.VCentered(elements)[исходный код] -
Удобный класс для создания
Vlist, содержимое которого центрировано в его ограничивающей области.
-
class matplotlib.mathtext.Vbox(height, depth)[исходный код] -
Прямоугольник с высотой, но нулевой шириной.
-
class matplotlib.mathtext.Vlist(elements, h=0.0, m='additional')[исходный код] -
Вертикальный список прямоугольников.
-
vpack(h=0.0, m='additional', l=inf)[исходный код] -
Основная задача
vpack()— вычисление размеров результирующих прямоугольников и корректировка отступов, если один из этих размеров задан заранее.- h: задаёт высоту
- m: может быть 'точно' или 'дополнительно'.
- l: максимальная высота
Таким образом,
vpack(h, 'exactly')создаёт прямоугольник с высотой h, аvpack(h, 'additional')даёт прямоугольник с высотой, равной естественной высоте плюс h. Значения по умолчанию создают прямоугольник с естественной шириной.
-
-
class matplotlib.mathtext.Vrule(state)[исходный код] -
Удобный класс для создания вертикальной линии.
-
matplotlib.mathtext.get_unicode_index(symbol[, bool]) → integer[исходный код] -
Возвращает целочисленный индекс (из таблицы 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)[исходный код] -
Преобразует математическое выражение в изображение в точно обрезаемой области.
- s
- Математическое выражение. Математическая часть должна быть заключена в знаки доллара.
- filename_or_obj
- Путь к файлу или объект, принимающий данные изображения, для записи данных изображения.
- prop
- Если задано, объект FontProperties(), описывающий размер и стиль текста.
- dpi
- Переопределить значение dpi вывода, в противном случае использовать значение по умолчанию, связанное с форматом вывода.
- format
- Формат вывода, например, 'svg', 'pdf', 'ps' или 'png'. Если не указан, будет определён по имени файла.
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.0.0/api/mathtext_api.html