matplotlib.mathtext
mathtext — модуль для разбора подмножества синтаксиса TeX для математических формул и их отображения в бэкэнд matplotlib.
Для ознакомления с руководством по его использованию обратитесь к Создание математических выражений. Данный документ в основном посвящён деталям реализации.
В модуле используется pyparsing для разбора выражения 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.HlistAutoHeightCharбудет создавать символ, максимально приближённый к заданной высоте и глубине. При использовании шрифта с несколькими вариантами высоты некоторых символов (таких как шрифты BaKoMa), будет выбран правильный глиф, в противном случае всегда будет возвращена просто отмасштабированная версия глифа.
-
class matplotlib.mathtext.AutoWidthChar(c, width, state, always=False, char_class=<class 'matplotlib.mathtext.Char'>)[source] -
Bases:
matplotlib.mathtext.HlistAutoWidthCharбудет создавать символ, максимально приближённый к заданной ширине. При использовании шрифта с несколькими вариантами ширины некоторых символов (таких как шрифты BaKoMa), будет выбран правильный глиф, в противном случае всегда будет возвращена просто отмасштабированная версия глифа.
-
class matplotlib.mathtext.BakomaFonts(*args, **kwargs)[source] -
Bases:
matplotlib.mathtext.TruetypeFontsИспользует шрифты Bakoma TrueType для рендеринга.
Символы разбросаны по ряду файлов шрифтов, каждый из которых имеет собственную проприетарную 8-битную кодировку.
-
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-
use_cmex = False
-
-
class matplotlib.mathtext.DejaVuSansFontConstants[source]
-
class matplotlib.mathtext.DejaVuSansFonts(*args, **kwargs)[source] -
Bases:
matplotlib.mathtext.DejaVuFontsКласс обработки шрифтов DejaVu Sans
Если глиф не найден, используется шрифт Stix Sans
-
class matplotlib.mathtext.DejaVuSerifFontConstants[source]
-
class matplotlib.mathtext.DejaVuSerifFonts(*args, **kwargs)[source] -
Bases:
matplotlib.mathtext.DejaVuFontsКласс обработки шрифтов DejaVu Serif
Если глиф не найден, используется шрифт Stix Serif
-
matplotlib.mathtext.Error(msg)[source] -
Вспомогательный класс для поднятия ошибок парсера.
-
class matplotlib.mathtext.Fil[source] -
Базы:
matplotlib.mathtext.Glue
-
class matplotlib.mathtext.Fill[source] -
Базы:
matplotlib.mathtext.Glue
-
class matplotlib.mathtext.Filll[source] -
Базы:
matplotlib.mathtext.Glue
-
class matplotlib.mathtext.FontConstantsBase[source] -
Базы:
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] -
Базы:
objectАбстрактный базовый класс для системы шрифтов, используемых для mathtext.
Класс должен уметь принимать ключи символов и имена файлов шрифтов и возвращать метрики символов. Также он делегирует задачу фактического рисования классу бэкэнда.
default_font_prop: Объект
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_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=False)[source] -
Базы:
matplotlib.mathtext.NodeБольшая часть информации в этом объекте хранится в базовом классе
GlueSpec, который совместно используется несколькими объектами glue. (Это оптимизация памяти, которая, вероятно, больше не важна, но проще придерживаться того, что делает TeX.)-
grow(self)[source] -
Увеличение на один уровень.
-
shrink(self)[source] -
Уменьшение на один уровень. Существует только три уровня размеров, после чего размеры больше не будут уменьшаться.
-
-
class matplotlib.mathtext.GlueSpec(width=0.0, stretch=0.0, stretch_order=0, shrink=0.0, shrink_order=0)[source] -
Базы:
objectСм.
Glue.-
copy(self)[source]
-
classmethod factory(glue_type)[source]
-
-
class matplotlib.mathtext.HCentered(elements)[source] -
Базы:
matplotlib.mathtext.HlistКласс-обёртка для создания
Hlist, содержимое которого центрируется в его ограничивающей рамке.
-
class matplotlib.mathtext.Hbox(width)[source] -
Базы:
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] -
Основная задача метода
hpack()— вычисление размеров результирующих прямоугольников и корректировка «клея», если один из этих размеров задан заранее. Вычисленные размеры обычно охватывают весь материал внутри нового прямоугольника; но некоторые элементы могут выступать за пределы, если используется отрицательный «клей», если прямоугольник переполнен или если\vboxвключает другие прямоугольники, смещённые влево.- w: задаёт ширину
- m: может быть 'точно' или 'дополнительно'.
Таким образом,
hpack(w, 'exactly')создаёт прямоугольник с шириной точно w, аhpack(w, 'additional')— прямоугольник с шириной, равной естественной ширине плюс 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имеет поле width, задающее (обычно отрицательное) значение интервала. Эта коррекция интервала появляется в горизонтальных списках между буквами, такими как A и V, когда дизайнер шрифтов посчитал, что лучше расположить их ближе или дальше друг от друга. Узел кернинга также может появиться в вертикальном списке, когда его width обозначает дополнительный интервал в вертикальном направлении.-
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 для заданного вывода backend.
-
get_depth(self, texstr, dpi=120, fontsize=14)[source] -
Параметры: -
texstr : str -
Действительная строка mathtext, например, r'IQ: $sigma_i=15$'.
-
dpi : float -
Настройка точек на дюйм, используемая для рендеринга текста.
Возвращает: -
depth : int -
Смещение базовой линии от нижней части изображения в пикселях.
-
-
parse(self, s, dpi=72, prop=None)[source] -
Разбор заданного математического выражения s при заданном dpi. Если предоставлен prop, это объект
FontProperties, определяющий «стандартный» шрифт для использования в математическом выражении, используемый для всего текста, не являющегося математическим.Результаты кешируются, поэтому несколько вызовов
parse()с одинаковым выражением должны быть быстрыми.
-
to_mask(self, texstr, dpi=120, fontsize=14)[source] -
Параметры: -
texstr : str -
Действительная строка mathtext, например, r'IQ: $sigma_i=15$'.
-
dpi : float -
Настройка точек на дюйм, используемая для рендеринга текста.
-
fontsize : int -
Размер шрифта в пунктах
Возвращает: -
array : 2D uint8 alpha -
Маска массива растрового tex.
-
depth : int -
Смещение базовой линии от нижней части изображения в пикселях.
-
-
to_png(self, filename, texstr, color='black', dpi=120, fontsize=14)[source] -
Рендеринг выражения tex в файл PNG.
Параметры: - filename
-
Записываемый имя файла или объект файла.
-
texstr : str -
Действительная строка mathtext, например, r'IQ: $sigma_i=15$'.
-
color : color -
Цвет текста.
-
dpi : float -
Настройка точек на дюйм, используемая для рендеринга текста.
-
fontsize : int -
Размер шрифта в пунктах.
Возвращает: -
depth : int -
Смещение базовой линии от нижней части изображения в пикселях.
-
to_rgba(self, texstr, color='black', dpi=120, fontsize=14)[source] -
Параметры: -
texstr : str -
Действительная строка mathtext, например, r'IQ: $sigma_i=15$'.
-
color : color -
Цвет текста.
-
dpi : float -
Настройка точек на дюйм, используемая для рендеринга текста.
-
fontsize : int -
Размер шрифта в пунктах.
Возвращает: -
array : (M, N, 4) array -
Значения RGBA цвета растрированного tex, раскрашенного цветом color.
-
depth : int -
Смещение базовой линии от нижней части изображения в пикселях.
-
-
-
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] -
Основы:
matplotlib.mathtext.MathtextBackendОтображение глифов и прямоугольников в буфере FTImage, который впоследствии передаётся в изображение Agg бэкендом 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] -
Основы:
matplotlib.mathtext.MathtextBackendAgg-
get_results(self, box, used_characters)[source] -
Возвращает кортеж, специфичный для бэкенда, который должен быть возвращён бэкенду после завершения всех операций.
-
-
class matplotlib.mathtext.MathtextBackendCairo[source] -
Основы:
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] -
Основы:
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] -
Основы:
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] -
Основы:
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] -
Базы:
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[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(self, next)[source]
-
grow(self)[source] -
Увеличивает размер на один уровень. Нет ограничений на максимальный размер.
-
render(self, x, y)[source]
-
shrink(self)[source] -
Уменьшает размер на один уровень. Существует только три уровня размеров, после чего уменьшение больше невозможно.
-
-
class matplotlib.mathtext.Parser[source]
-
Основы:
objectЭто анализатор математических выражений на основе pyparsing. Он фактически анализирует полные строки, содержащие математические выражения, при этом в сыром тексте могут также присутствовать элементы вне пар
$.Грамматика основана непосредственно на грамматике TeX, но она немного упрощена.
-
class State(font_output, font, font_class, fontsize, dpi)[source] -
Основы:
objectХранит состояние анализатора.
Состояния помещаются и извлекаются из стека по мере необходимости, и «текущее» состояние всегда находится вверху стека.
-
copy(self)[source]
-
font
-
-
accent(self, s, loc, toks)[source]
-
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)
-
snowflake(self, s, loc, toks)
-
space(self, s, loc, toks)[source]
-
sqrt(self, s, loc, toks)[source]
-
stackrel(self, s, loc, toks)[source] -
[Устарело]
Примечания
Устарело начиная с версии 3.1:
-
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Узел
Ruleпредставляет собой тёмно-серую прямоугольную область; он имеет поля 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[source] -
Базы:
matplotlib.mathtext.Glue
-
class matplotlib.mathtext.StandardPsFonts(default_font_prop)[source] -
Базы:
matplotlib.mathtext.FontsИспользуйте стандартные шрифты PostScript для вывода в backend_ps
В отличие от других классов шрифтов, BakomaFont и UnicodeFont, этот класс требует backend Ps.
-
basepath = '/tmp/mpl_doc/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(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] -
Получить x-высоту для данного font и fontsize.
-
-
class matplotlib.mathtext.StixFonts(*args, **kwargs)[source] -
Базы:
matplotlib.mathtext.UnicodeFontsКласс для обработки шрифтов STIX.
Помимо того, что предоставляет UnicodeFonts, этот класс:
- поддерживает «виртуальные шрифты», которые являются полными наборами символов от а до я с различными стилями шрифтов в особых кодах Unicode, таких как «Blackboard».
- обрабатывает альтернативные символы с разными размерами для шрифтов STIXSizeX.
-
cm_fallback = False
-
get_sized_alternatives_for_symbol(self, fontname, sym)[source] -
Переопределите, если ваш шрифт предоставляет несколько размеров одного и того же символа. Должен вернуть список символов, соответствующих sym в различных размерах. Генератор выражений выберет наиболее подходящий размер для данной ситуации из этого списка.
-
use_cmex = False
-
class matplotlib.mathtext.StixSansFonts(*args, **kwargs)[source] -
Базы:
matplotlib.mathtext.StixFontsКласс обработки шрифтов STIX (который по умолчанию использует шрифты sans-serif).
-
class matplotlib.mathtext.SubSuperCluster[source] -
Базы:
matplotlib.mathtext.HlistSubSuperCluster— это своего рода хак, чтобы обойти тот факт, что этот код выполняет двухпроходный анализ, как и TeX. Это позволяет нам хранить достаточно информации в самом объекте hlist, а именно ядро, под- и надстрочный индекс, таким образом, если за этим следует другой индекс, который нужно прикрепить, он может быть переконфигурирован на лету.
-
class matplotlib.mathtext.TruetypeFonts(default_font_prop, mathtext_backend)[source] -
Базовый класс для всех настроек шрифтов, использующих TrueType шрифты (через FT2Font).
Базы:
matplotlib.mathtext.Fonts-
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] -
Получить xheight для данного font и fontsize.
-
-
class matplotlib.mathtext.UnicodeFonts(*args, **kwargs)[source] -
Базовый класс для обработки Unicode шрифтов.
Базы:
matplotlib.mathtext.TruetypeFontsХотя некоторые достаточно полные Unicode шрифты (например, DejaVu) могут работать в некоторых ситуациях, единственный Unicode шрифт, о котором я знаю, с полным набором математических символов, это STIX.
Этот класс будет использовать шрифты Bakoma по умолчанию, когда необходимый символ не найден в шрифте.
-
get_sized_alternatives_for_symbol(self, fontname, sym)[source] -
Переопределите, если ваш шрифт предоставляет несколько размеров одного и того же символа. Должно вернуть список символов, соответствующих символу в различных размерах. Рендерер выражений выберет наиболее подходящий размер из этого списка для данной ситуации.
-
use_cmex = True
-
-
class matplotlib.mathtext.VCentered(elements)[source] -
Удобный класс для создания
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] -
Основная задача
vpack()— вычисление размеров результирующих прямоугольников и корректировка зазора, если один из этих размеров задан заранее.- h: задаёт высоту
- m: может быть 'точно' или 'дополнительно'.
- l: максимальная высота
Таким образом,
vpack(h, 'exactly')создаёт прямоугольник с точно заданной высотой h, в то время какvpack(h, 'additional')создаёт прямоугольник с естественной высотой плюс h. Значения по умолчанию создают прямоугольник с естественной шириной.
-
-
class matplotlib.mathtext.Vrule(state)[source] -
Удобный класс для создания вертикальной линии.
Базы:
matplotlib.mathtext.Rule
-
matplotlib.mathtext.get_unicode_index(symbol, math=True)[source] -
Возвращает целочисленный индекс (из таблицы Unicode) для symbol.
Параметры: -
symbol : str -
Один символ Unicode, команда TeX (например, r'pi') или имя символа Type1 (например, 'phi').
-
math : bool, default is True -
Если False, всегда обрабатывать как одиночный символ Unicode.
-
-
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'. Если не указано, определяется по имени файла.
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.1.1/api/mathtext_api.html