mathtext
matplotlib.mathtext
mathtext — это модуль для разбора подмножества синтаксиса TeX для математических выражений и их отрисовки в бэкенде matplotlib.
Для ознакомления с практическим применением см. Написание математических выражений. В данном документе в основном рассматриваются детали реализации.
Модуль использует pyparsing для разбора выражений TeX.
Поддерживаются дистрибутив шрифтов TeX Computer Modern от Bakoma и шрифты STIX. Есть экспериментальная поддержка использования произвольных шрифтов, но результаты могут варьироваться без надлежащей настройки и метрик для этих шрифтов.
-
class matplotlib.mathtext.Accent(c, state, math=True) -
Базовый класс:
matplotlib.mathtext.CharМетрики шрифта необходимо обрабатывать по-разному для акцентов, так как они уже правильно смещены от базовой линии в шрифтах TrueType.
-
grow()
-
render(x, y) -
Отрисовка символа на холсте.
-
shrink()
-
-
class matplotlib.mathtext.AutoHeightChar(c, height, depth, state, always=False, factor=None) -
Базовый класс:
matplotlib.mathtext.HlistAutoHeightCharбудет создавать символ, максимально приближенный к заданной высоте и глубине. При использовании шрифта с несколькими вариантами высоты для некоторых символов (например, шрифты BaKoMa), будет выбран правильный глиф, в противном случае это всегда будет просто масштабированная версия глифа.
-
class matplotlib.mathtext.AutoWidthChar(c, width, state, always=False, char_class=<class 'matplotlib.mathtext.Char'>) -
Базовые классы:
matplotlib.mathtext.HlistAutoWidthCharбудет создавать символ, максимально приближенный к заданной ширине. При использовании шрифта с несколькими вариантами ширины для некоторых символов (например, шрифтов BaKoMa), будет выбран правильный глиф, в противном случае всегда будет возвращаться просто масштабированная версия глифа.
-
class matplotlib.mathtext.BakomaFonts(*args, **kwargs) -
Базовые классы:
matplotlib.mathtext.TruetypeFontsИспользует шрифты Bakoma TrueType для рендеринга.
Символы разбросаны по ряду файлов шрифтов, каждый из которых имеет собственное проприетарное 8-битное кодирование.
-
alias = '\\]'
-
get_sized_alternatives_for_symbol(fontname, sym)
-
target = ']'
-
-
class matplotlib.mathtext.Box(width, height, depth) -
Базовые классы:
matplotlib.mathtext.NodeПредставляет любой узел с физическим расположением.
-
grow()
-
render(x1, y1, x2, y2)
-
shrink()
-
-
class matplotlib.mathtext.Char(c, state, math=True) -
Базовые классы:
matplotlib.mathtext.NodeПредставляет собой отдельный символ. В отличие от TeX, информация о шрифте и метрики хранятся с каждым
Charдля упрощения поиска метрик шрифта при необходимости. Обратите внимание, что TeX-боксы имеют ширину, высоту и глубину, в отличие от Type1 и Truetype, которые используют полную ограничивающую рамку и продвижение в направлении x. Метрики должны быть преобразованы в способ TeX, а продвижение (если оно отличается от ширины) должно быть преобразовано в узелKern, когдаCharдобавляется к его родительскому элементуHlist.-
get_kerning(next) -
Возвращает величину кернинга между этим и заданным символом. Вызывается при объединении символов в
Hlistдля создания узловKern.
-
grow()
-
is_slanted()
-
render(x, y) -
Отобразить символ на холсте
-
shrink()
-
-
class matplotlib.mathtext.ComputerModernFontConstants -
Базовые классы:
matplotlib.mathtext.FontConstantsBase-
delta = 0.075
-
delta_integral = 0.3
-
delta_slanted = 0.3
-
script_space = 0.075
-
sub1 = 0.2
-
sub2 = 0.3
-
subdrop = 0.2
-
sup1 = 0.45
-
-
class matplotlib.mathtext.DejaVuFonts(*args, **kwargs) -
Базовые классы:
matplotlib.mathtext.UnicodeFonts-
use_cmex = False
-
-
class matplotlib.mathtext.DejaVuSansFontConstants -
Базовые классы:
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) -
Получение значения xheight для заданных font и fontsize.
-
render_glyph(ox, oy, facename, font_class, sym, fontsize, dpi) -
Рисование глифа с параметрами
- ox, oy: положение
- facename: одно из имён шрифтов TeX
- font_class:
- sym: имя символа TeX или одиночный символ
- fontsize: размер шрифта в пунктах
- 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()— вычисление размеров результирующих прямоугольников и корректировка glue, если один из этих размеров задан заранее. Вычисленные размеры обычно охватывают весь материал внутри нового прямоугольника, но некоторые элементы могут выступать за его пределы, если используется отрицательное glue, если прямоугольник переполнен или если\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имеет поле ширины для указания (обычно отрицательного) значения интервала. Эта корректировка интервала появляется в горизонтальных списках между буквами, как A и V, когда дизайнер шрифтов посчитал, что лучше их сблизить или развести. Узел kern также может появиться в вертикальном списке, когда его width обозначает дополнительный интервал в вертикальном направлении.-
depth = 0
-
grow()
-
height = 0
-
shrink()
-
-
class matplotlib.mathtext.List(elements) -
Основания:
matplotlib.mathtext.BoxСписок узлов (горизонтальный или вертикальный).
-
grow()
-
shrink()
-
-
class matplotlib.mathtext.MathTextParser(output) -
Основания:
objectСоздаёт MathTextParser для заданного вывода backend.
-
get_depth(texstr, dpi=120, fontsize=14) -
Возвращает смещение базовой линии от нижнего края изображения в пикселях.
- texstr
- Действительная строка mathtext, например, r’IQ: $sigma_i=15$’
- dpi
- Точки на дюйм для рендеринга текста
- fontsize
- Размер шрифта в пунктах
-
parse(s, dpi=72, prop=None) -
Разбирает данное математическое выражение s при заданном dpi. Если задан prop, это объект
FontProperties, определяющий «стандартный» шрифт для использования в математическом выражении, применяемый для всего не-математического текста.Результаты кэшируются, поэтому многократные вызовы
parse()с тем же выражением должны быть быстрыми.
-
to_mask(texstr, dpi=120, fontsize=14) -
- texstr
- Действительная строка mathtext, например, r’IQ: $sigma_i=15$’
- dpi
- Точки на дюйм для рендеринга текста
- fontsize
- Размер шрифта в пунктах
Возвращает кортеж (array, depth)
- array — массив NxM uint8 альфа-байтового маски изображения, растрового tex.
- depth — смещение базовой линии от нижнего края изображения в пикселях.
-
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
- Размер шрифта в пунктах
Возвращает кортеж (array, depth)
- array — массив NxM uint8 альфа-байтового маски изображения, растрового tex.
- depth — смещение базовой линии от нижнего края изображения в пикселях.
-
-
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()
-
get_results(box, used_characters)
-
render_glyph(ox, oy, info)
-
render_rect_filled(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)
-
render_rect_filled(x1, y1, x2, y2)
-
-
class matplotlib.mathtext.MathtextBackendPath -
Основания:
matplotlib.mathtext.MathtextBackendХранит информацию для записи рендеринга mathtext в механизм контуров текста.
-
get_results(box, used_characters)
-
render_glyph(ox, oy, info)
-
render_rect_filled(x1, y1, x2, y2)
-
-
class matplotlib.mathtext.MathtextBackendPdf -
Основания:
matplotlib.mathtext.MathtextBackendХранит информацию для записи рендеринга mathtext в бэкэнд PDF.
-
get_results(box, used_characters)
-
render_glyph(ox, oy, info)
-
render_rect_filled(x1, y1, x2, y2)
-
-
class matplotlib.mathtext.MathtextBackendPs -
Основания:
matplotlib.mathtext.MathtextBackendХранит информацию для записи рендеринга mathtext в бэкэнд PostScript.
-
get_results(box, used_characters)
-
render_glyph(ox, oy, info)
-
render_rect_filled(x1, y1, x2, y2)
-
-
class matplotlib.mathtext.MathtextBackendSvg -
Основания:
matplotlib.mathtext.MathtextBackendХранит информацию для записи рендеринга mathtext в бэкэнд SVG.
-
get_results(box, used_characters)
-
render_glyph(ox, oy, info)
-
render_rect_filled(x1, y1, x2, y2)
-
-
class matplotlib.mathtext.NegFil -
Основания:
matplotlib.mathtext.Glue
-
class matplotlib.mathtext.NegFill -
Основания:
matplotlib.mathtext.Glue
-
class matplotlib.mathtext.NegFilll -
Основания:
matplotlib.mathtext.Glue
-
class matplotlib.mathtext.Node -
Основания:
objectУзел в модели TeX-ящика
-
get_kerning(next)
-
grow() -
Увеличивает размер на один уровень. Нет ограничений на максимальный размер.
-
render(x, y)
-
shrink() -
Уменьшает размер на один уровень. Существует только три уровня размеров, после чего уменьшение больше невозможно.
-
-
class matplotlib.mathtext.Parser -
Основания:
objectЭто парсер, основанный на pyparsing, для математических выражений. Он фактически разбирает полные строки, содержащие математические выражения, так как в исходном тексте могут присутствовать и символы вне пар
$.Грамматика основана непосредственно на грамматике TeX, хотя и упрощена.
-
class State(font_output, font, font_class, fontsize, dpi) -
Основания:
objectХранит состояние парсера.
Состояния помещаются и извлекаются из стека по мере необходимости, и «текущее» состояние всегда находится в верхней части стека.
-
copy()
-
font
-
-
accent(s, loc, toks)
-
auto_delim(s, loc, toks)
-
binom(s, loc, toks)
-
c_over_c(s, loc, toks)
-
customspace(s, loc, toks)
-
dfrac(s, loc, toks)
-
end_group(s, loc, toks)
-
font(s, loc, toks)
-
frac(s, loc, toks)
-
function(s, loc, toks)
-
genfrac(s, loc, toks)
-
get_state() -
Получить текущее состояние парсера
State.
-
group(s, loc, toks)
-
is_between_brackets(s, loc)
-
is_dropsub(nucleus)
-
is_overunder(nucleus)
-
is_slanted(nucleus)
-
main(s, loc, toks)
-
math(s, loc, toks)
-
math_string(s, loc, toks)
-
non_math(s, loc, toks)
-
operatorname(s, loc, toks)
-
overline(s, loc, toks)
-
parse(s, fonts_object, fontsize, dpi) -
Разбирает выражение s, используя указанный объект шрифтов для вывода при заданных значениях fontsize и dpi.
Возвращает дерево разбора из экземпляров
Node.
-
pop_state() -
Извлекает состояние
Stateиз стека.
-
push_state() -
Помещает в стек новое состояние
State, представляющее собой копию текущего состояния.
-
required_group(s, loc, toks)
-
simple_group(s, loc, toks)
-
snowflake(s, loc, toks)
-
space(s, loc, toks)
-
sqrt(s, loc, toks)
-
stackrel(s, loc, toks)
-
start_group(s, loc, toks)
-
subsuper(s, loc, toks)
-
symbol(s, loc, toks)
-
unknown_symbol(s, loc, toks)
-
-
class matplotlib.mathtext.Rule(width, height, depth, state) -
Основания:
matplotlib.mathtext.BoxУзел
Ruleпредставляет собой тёмно-серый прямоугольник; он имеет поля width, depth и height, как и уHlist. Однако, если любой из этих размеров равен бесконечности, фактическое значение будет определяться путём вычисления правила до границы самого внутреннего включающего прямоугольника. Это называется «динамическим измерением». Ширина никогда не является динамическим измерением вHlist; высота и глубина никогда не являются динамическими измерениями вVlist.-
render(x, y, w, h)
-
-
class matplotlib.mathtext.STIXFontConstants -
Основания:
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 -
Основания:
matplotlib.mathtext.FontConstantsBase-
delta_integral = 0.3
-
delta_slanted = 0.6
-
script_space = 0.05
-
sup1 = 0.8
-
-
class matplotlib.mathtext.Ship -
Основания:
objectПосле настройки прямоугольников этот класс отправляет их на вывод. Поскольку прямоугольники могут быть внутри других прямоугольников, основная работа
Shipвыполняется двумя взаимно рекурсивными процедурами,hlist_out()иvlist_out(), которые обходят узлыHlistиVlistвнутри горизонтальных и вертикальных прямоугольников. Глобальные переменные, используемые в TeX для хранения состояния во время обработки, стали здесь членами класса.-
static clamp(value)
-
hlist_out(box)
-
vlist_out(box)
-
-
class matplotlib.mathtext.SsGlue -
Основания:
matplotlib.mathtext.Glue
-
class matplotlib.mathtext.StandardPsFonts(default_font_prop) -
Основания:
matplotlib.mathtext.FontsИспользует стандартные шрифты PostScript для рендеринга в backend_ps.
В отличие от других классов шрифтов, BakomaFont и UnicodeFont, этот класс требует бэкэнд Ps.
-
basepath = '/home/tcaswell/.virtualenvs/bleeding/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)
-
get_underline_thickness(font, fontsize, dpi)
-
get_xheight(font, fontsize, dpi)
-
-
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) -
Основания:
matplotlib.mathtext.FontsОбщие базовые классы для всех настроек шрифтов, использующих шрифты TrueType (через FT2Font).
-
destroy()
-
get_kern(font1, fontclass1, sym1, fontsize1, font2, fontclass2, sym2, fontsize2, dpi)
-
get_underline_thickness(font, fontsize, dpi)
-
get_xheight(fontname, fontsize, dpi)
-
-
class matplotlib.mathtext.UnicodeFonts(*args, **kwargs) -
Базовый абстрактный класс для обработки шрифтов Unicode.
Хотя некоторые достаточно полные шрифты Unicode (такие как DejaVu) могут работать в некоторых ситуациях, единственный известный мне шрифт Unicode с полным набором математических символов — это STIX.
Этот класс будет использовать резервные шрифты Bakoma, если необходимый символ не найден в шрифте.
-
get_sized_alternatives_for_symbol(fontname, sym)
-
use_cmex = True
-
-
class matplotlib.mathtext.VCentered(elements) -
Основания:
matplotlib.mathtext.HlistУдобный класс для создания
Vlist, содержимое которого центрировано в его ограничительной области.
-
class matplotlib.mathtext.Vbox(height, depth) -
Основания:
matplotlib.mathtext.BoxПрямоугольник только с высотой (нулевая ширина).
-
class matplotlib.mathtext.Vlist(elements, h=0.0, m='additional') -
Базы:
matplotlib.mathtext.ListВертикальный список прямоугольников.
-
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.RuleУдобный класс для создания вертикальной линии.
-
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’. Если не указано, будет определено по имени файла.
-
matplotlib.mathtext.unichr_safe(index) -
Возвращает символ Unicode, соответствующий индексу, или символ замены, если это узкая версия Python и запрашиваемый символ находится за пределами BMP.
© 2012–2017 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
http://matplotlib.org/2.1.0/api/mathtext_api.html