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'>) -
Bases:
matplotlib.mathtext.HlistAutoWidthCharбудет создавать символ, максимально приближенный к заданной ширине. При использовании шрифта с несколькими вариантами ширины для некоторых символов (например, шрифтов BaKoMa), будет выбран правильный глиф, в противном случае всегда будет возвращаться просто масштабированная версия глифа.
-
class matplotlib.mathtext.BakomaFonts(*args, **kwargs) -
Bases:
matplotlib.mathtext.TruetypeFontsИспользует шрифты Bakoma TrueType для рендеринга.
Символы разбросаны по ряду файлов шрифтов, каждый из которых имеет собственное проприетарное 8-битное кодирование.
-
alias = '\\]'
-
get_sized_alternatives_for_symbol(fontname, sym)
-
target = ']'
-
-
class matplotlib.mathtext.Box(width, height, depth) -
Bases:
matplotlib.mathtext.NodeПредставляет любой узел с физическим расположением.
-
grow()
-
render(x1, y1, x2, y2)
-
shrink()
-
-
class matplotlib.mathtext.Char(c, state, math=True) -
Bases:
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 -
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) -
Bases:
matplotlib.mathtext.UnicodeFonts-
use_cmex = False
-
-
class matplotlib.mathtext.DejaVuSansFontConstants
-
class matplotlib.mathtext.DejaVuSansFonts(*args, **kwargs) -
Bases:
matplotlib.mathtext.DejaVuFontsКласс обработки шрифтов DejaVu Sans
Если глиф не найден, он будет переходить к Stix Sans
-
class matplotlib.mathtext.DejaVuSerifFontConstants
-
class matplotlib.mathtext.DejaVuSerifFonts(*args, **kwargs) -
Bases:
matplotlib.mathtext.DejaVuFontsКласс обработки шрифтов DejaVu Serif
Если глиф не найден, он будет переходить к Stix Serif
-
matplotlib.mathtext.Error(msg) -
Вспомогательный класс для повышения ошибок парсера.
-
class matplotlib.mathtext.Fil -
Bases:
matplotlib.mathtext.Glue
-
class matplotlib.mathtext.Fill -
Bases:
matplotlib.mathtext.Glue
-
class matplotlib.mathtext.Filll -
Bases:
matplotlib.mathtext.Glue
-
class matplotlib.mathtext.FontConstantsBase -
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) -
Основания:
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 -
Bases:
matplotlib.mathtext.Glue
-
class matplotlib.mathtext.Node -
Bases:
objectУзел в модели TeX-ящика
-
get_kerning(next)
-
grow() -
Увеличивает размер на один уровень. Нет ограничений на максимальный размер.
-
render(x, y)
-
shrink() -
Уменьшает размер на один уровень. Существует только три уровня размеров, после чего уменьшение больше невозможно.
-
-
class matplotlib.mathtext.Parser -
Bases:
objectЭто парсер, основанный на pyparsing, для математических выражений. Он фактически парсит полные строки, содержащие математические выражения, так как в сыром тексте могут присутствовать и символы вне пар
$.Грамматика основана непосредственно на грамматике TeX, хотя и упрощена.
-
class State(font_output, font, font_class, fontsize, dpi) -
Bases:
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) -
Bases:
matplotlib.mathtext.BoxУзел
Ruleпредставляет собой тёмно-серый прямоугольник; он имеет поля width, depth и height, как и уHlist. Однако, если любой из этих размеров равен бесконечности, фактическое значение будет определяться путём вычисления правила до границы самого внутреннего включающего прямоугольника. Это называется «динамическим измерением». Ширина никогда не является динамическим измерением вHlist; высота и глубина никогда не являются динамическими измерениями вVlist.-
render(x, y, w, h)
-
-
class matplotlib.mathtext.STIXFontConstants -
Bases:
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 -
Bases:
matplotlib.mathtext.FontConstantsBase-
delta_integral = 0.3
-
delta_slanted = 0.6
-
script_space = 0.05
-
sup1 = 0.8
-
-
class matplotlib.mathtext.Ship -
Bases:
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 backend.
-
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.
Этот класс будет использовать «fallback» на шрифты 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