Spec-Zone.ru › Matplotlib 3.3

matplotlib.mathtext

Inheritance diagram of matplotlib.mathtext

Модуль для разбора подмножества синтаксиса TeX для математики и рендеринга его в бэкенде Matplotlib.

Для получения обучающего пособия по его использованию см. Написание математических выражений. Данный документ главным образом посвящен деталям реализации.

В модуле используется pyparsing для разбора выражения TeX.

Поддерживаются дистрибутив шрифтов TeX Computer Modern от Bakoma и шрифты STIX. Существует экспериментальная поддержка использования произвольных шрифтов, но результаты могут различаться без соответствующей настройки и метрик для этих шрифтов.

class matplotlib.mathtext.Accent(c, state, math=True) [source]

Базовый класс: matplotlib.mathtext.Char

Метрики шрифта для акцентов необходимо обрабатывать по-другому, так как они уже правильно смещены от базовой линии в шрифтах TrueType.

grow(self) [source]

Увеличивает размер на один уровень. Нет ограничений на максимальный размер.

render(self, x, y) [source]

Отображает символ на холсте.

shrink(self) [source]

Уменьшает размер на один уровень. После трёх уровней уменьшения, размер больше не будет изменяться.

class matplotlib.mathtext.AutoHeightChar(c, height, depth, state, always=False, factor=None) [source]

Bases: matplotlib.mathtext.Hlist

Символ с высотой и глубиной, максимально приближенными к заданным.

При использовании шрифта с несколькими вариантами высоты некоторых символов (например, шрифтов BaKoMa) будет выбран правильный глиф; в противном случае всегда будет возвращаться масштабированная версия глифа.

class matplotlib.mathtext.AutoWidthChar(c, width, state, always=False, char_class=<class 'matplotlib.mathtext.Char'>) [source]

Bases: matplotlib.mathtext.Hlist

Символ с шириной, максимально приближенной к заданной.

При использовании шрифта с несколькими вариантами ширины некоторых символов (например, шрифтов BaKoMa) будет выбран правильный глиф; в противном случае всегда будет возвращаться масштабированная версия глифа.

class matplotlib.mathtext.BakomaFonts(*args, **kwargs) [source]

Bases: matplotlib.mathtext.TruetypeFonts

Использование шрифтов Bakoma TrueType для рендеринга.

Символы разбросаны по нескольким файлам шрифтов, каждый из которых имеет собственную собственную кодировку 8-бит.

Параметры:
default_font_prop: `~.font_manager.FontProperties`

Стандартный шрифт, не используемый для математических символов, или базовый шрифт для рендеринга символов Юникода (общий).

mathtext_backend: `MathtextBackend` subclass

Подсистема, к которой фактически делегируется рендеринг.

alias = '\\]'
get_sized_alternatives_for_symbol(self, fontname, sym) [source]

Переопределите, если ваш шрифт предоставляет несколько размеров одного и того же символа. Должно вернуть список символов, соответствующих символу в различных размерах. Обработчик выражений выберет наиболее подходящий размер для данной ситуации из этого списка.

target = ']'
class matplotlib.mathtext.Box(width, height, depth) [source]

Bases: matplotlib.mathtext.Node

Узел с физическим расположением.

grow(self) [source]

Увеличивает размер на один уровень. Нет ограничений на максимальный размер.

render(self, x1, y1, x2, y2) [source]
shrink(self) [source]

Уменьшает размер на один уровень. Существует только три уровня уменьшения размера, после чего дальнейшее уменьшение невозможно.

class matplotlib.mathtext.Char(c, state, math=True) [source]

Bases: matplotlib.mathtext.Node

Один символ.

В отличие от TeX, информация о шрифте и метрики хранятся с каждым Char, чтобы облегчить поиск метрик шрифта при необходимости. Обратите внимание, что TeX-боксы имеют ширину, высоту и глубину, в отличие от Type1 и TrueType, которые используют полную ограничивающую рамку и продвижение по оси x. Метрики необходимо преобразовать в TeX-модель, а продвижение (если оно отличается от ширины) необходимо преобразовать в узел Kern, когда Char добавляется к родительскому узлу Hlist.

get_kerning(self, next) [source]

Возвращает величину кернинга между этим и заданным символом.

Этот метод вызывается, когда символы объединяются в Hlist для создания узлов Kern.

grow(self) [source]

Увеличивает размер на один уровень. Нет ограничений на максимальный размер.

is_slanted(self) [source]
render(self, x, y) [source]

Отображает символ на холсте

shrink(self) [source]

Уменьшает размер на один уровень. Существует только три уровня уменьшения размера, после чего дальнейшее уменьшение невозможно.

class matplotlib.mathtext.ComputerModernFontConstants [source]

Bases: matplotlib.mathtext.FontConstantsBase

delta = 0.075
delta_integral = 0.3
delta_slanted = 0.3
script_space = 0.075
sub1 = 0.2
sub2 = 0.3
subdrop = 0.2
sup1 = 0.45
class matplotlib.mathtext.DejaVuFonts(*args, **kwargs) [source]

Bases: matplotlib.mathtext.UnicodeFonts

Параметры:
default_font_prop: `~.font_manager.FontProperties`

Стандартный шрифт, не используемый для математических символов, или базовый шрифт для рендеринга символов Юникода (общий).

mathtext_backend: `MathtextBackend` subclass

Подсистема, к которой фактически делегируется рендеринг.

use_cmex = False
class matplotlib.mathtext.DejaVuSansFontConstants [source]

Bases: matplotlib.mathtext.FontConstantsBase

class matplotlib.mathtext.DejaVuSansFonts(*args, **kwargs) [source]

Bases: matplotlib.mathtext.DejaVuFonts

Класс обработки шрифтов DejaVu Sans

Если глиф не найден, он переходит к Stix Sans

Параметры:
default_font_prop: `~.font_manager.FontProperties`

Стандартный шрифт без математических символов или базовый шрифт для рендеринга Unicode (обобщённый).

mathtext_backend: `MathtextBackend` subclass

Бэкенд, которому фактически делегируется рендеринг.

class matplotlib.mathtext.DejaVuSerifFontConstants [source]

Bases: matplotlib.mathtext.FontConstantsBase

class matplotlib.mathtext.DejaVuSerifFonts(*args, **kwargs) [source]

Bases: matplotlib.mathtext.DejaVuFonts

Класс обработки шрифтов DejaVu Serif

Если глиф не найден, он переходит к Stix Serif

Параметры:
default_font_prop: `~.font_manager.FontProperties`

Стандартный шрифт без математических символов или базовый шрифт для рендеринга Unicode (обобщённый).

mathtext_backend: `MathtextBackend` subclass

Бэкенд, которому фактически делегируется рендеринг.

matplotlib.mathtext.Error(msg) [source]

Вспомогательный класс для повышения ошибок парсера.

class matplotlib.mathtext.Fil(**kwargs) [source]

Bases: matplotlib.mathtext.Glue

[Устарело]

Примечания

Устарело начиная с версии 3.3:

class matplotlib.mathtext.Fill(**kwargs) [source]

Bases: matplotlib.mathtext.Glue

[Устарело]

Примечания

Устарело начиная с версии 3.3:

class matplotlib.mathtext.Filll(**kwargs) [source]

Bases: matplotlib.mathtext.Glue

[Устарело]

Примечания

Устарело начиная с версии 3.3:

class matplotlib.mathtext.FontConstantsBase [source]

Bases: object

Набор констант, управляющих расположением таких элементов, как нижние и верхние индексы. Все это метрики, которые нельзя надёжно получить из метрик шрифта самого шрифта.

delta = 0.025
delta_integral = 0.1
delta_slanted = 0.2
script_space = 0.05
sub1 = 0.3
sub2 = 0.5
subdrop = 0.4
sup1 = 0.7
class matplotlib.mathtext.Fonts(default_font_prop, mathtext_backend) [source]

Bases: object

Абстрактный базовый класс для системы шрифтов, используемых для mathtext.

Класс должен уметь принимать ключи символов и имена файлов шрифтов и возвращать метрики символов. Он также делегирует фактическое отрисовку классу бэкенда.

Параметры:
default_font_prop: `~.font_manager.FontProperties`

Стандартный шрифт без математических символов или базовый шрифт для рендеринга Unicode (общий) шрифтов.

mathtext_backend: `MathtextBackend` подкласс

Бэкенд, которому фактически делегируется рендеринг.

destroy(self) [source]

Исправить все циклические ссылки перед уничтожением объекта.

get_kern(self, font1, fontclass1, sym1, fontsize1, font2, fontclass2, sym2, fontsize2, dpi) [source]

Получить расстояние кернинга для шрифта между sym1 и sym2.

fontX: одно из имён TeX-шрифтов:

tt, it, rm, cal, sf, bf or default/regular (non-math)

fontclassX: TODO

symX: символ в сыром TeX-формате. Например, '1', 'x' или 'sigma'

fontsizeX: размер шрифта в пунктах

dpi: текущие точки на дюйм

get_metrics(self, font, font_class, sym, fontsize, dpi, math=True) [source]

font: одно из имён TeX-шрифтов:

tt, it, rm, cal, sf, bf or default/regular (non-math)

font_class: TODO

sym: символ в сыром TeX-формате. Например, '1', 'x' или 'sigma'

fontsize: размер шрифта в пунктах

dpi: текущие точки на дюйм

math: является ли sym математическим символом

Возвращает объект со следующими атрибутами:

  • advance: Расстояние продвижения (в пунктах) глифа.
  • height: Высота глифа в пунктах.
  • width: Ширина глифа в пунктах.
  • xmin, xmax, ymin, ymax - прямоугольник чернил глифа
  • iceberg - расстояние от базовой линии до верхней части глифа. Это соответствует определению "высота" в TeX.
get_results(self, box) [source]

Получить данные, необходимые бэкенду для рендеринга математического выражения. Значение возврата зависит от бэкенда.

get_sized_alternatives_for_symbol(self, fontname, sym) [source]

Переопределить, если ваш шрифт предоставляет несколько размеров одного и того же символа. Должен вернуть список символов, соответствующих sym в различных размерах. Генератор выражений выберет наиболее подходящий размер для данной ситуации из этого списка.

get_underline_thickness(self, font, fontsize, dpi) [source]

Получить толщину линии, соответствующую данному шрифту. Используется в качестве базовой единицы для рисования линий, например, в дроби или радикале.

get_used_characters(self) [source]

Получить набор символов, которые были использованы в математическом выражении. Используется бэкендами, которые нуждаются в подмножестве шрифтов, чтобы знать, какие глифы включать.

get_xheight(self, font, fontsize, dpi) [source]

Получить xheight для данного font и fontsize.

render_glyph(self, ox, oy, facename, font_class, sym, fontsize, dpi) [source]

Отрисовать глиф в

  • ox, oy: позиция
  • facename: Одно из имён шрифта TeX
  • font_class:
  • sym: имя символа TeX или одиночный символ
  • fontsize: размер шрифта в пунктах
  • dpi: dpi для отрисовки.
render_rect_filled(self, x1, y1, x2, y2) [source]

Отрисовать заполненный прямоугольник от (x1, y1) до (x2, y2).

set_canvas_size(self, w, h, d) [source]

Установить размер буфера, используемого для рендеринга математического выражения. Необходим только для бэкендов с растровой графикой.

class matplotlib.mathtext.Glue(glue_type, copy=<deprecated parameter>) [source]

Bases: matplotlib.mathtext.Node

Большая часть информации в этом объекте хранится в базовом классе _GlueSpec, который совместно используется между несколькими объектами glue. (Это оптимизация памяти, которая, вероятно, больше не важна, но проще придерживаться того, что делает TeX.)

property glue_subtype
grow(self) [source]

Увеличивается на один уровень. Нет ограничений на то, насколько большим может стать что-либо.

shrink(self) [source]

Уменьшается на один уровень. Существует только три уровня размеров, после чего объекты больше не будут уменьшаться.

class matplotlib.mathtext.GlueSpec(**kwargs) [source]

Bases: object

[Устарело] См. Glue.

Примечания

Устарело начиная с версии 3.3.

copy(self) [source]
classmethod factory(glue_type) [source]
class matplotlib.mathtext.HCentered(elements) [source]

Bases: matplotlib.mathtext.Hlist

Класс-обёртка для создания Hlist, содержимое которого центрировано внутри его ограничивающей рамки.

class matplotlib.mathtext.Hbox(width) [source]

Bases: matplotlib.mathtext.Box

Прямоугольник с шириной (нулевая высота и глубина).

class matplotlib.mathtext.Hlist(elements, w=0.0, m='additional', do_kern=True) [source]

Основы: matplotlib.mathtext.List

Горизонтальный список ящиков.

hpack(self, w=0.0, m='additional') [source]

Вычисление размеров результирующих ящиков и корректировка отступов, если один из этих размеров задан заранее. Вычисленные размеры обычно охватывают весь материал внутри нового ящика; но некоторые элементы могут выступать за пределы, если используется отрицательный отступ, если ящик переполнен или если \vbox включает другие ящики, которые были сдвинуты влево.

Параметры:
wfloat, default: 0

Ширина.

m{'exactly', 'additional'}, default: 'additional'

Определяет, будет ли создан ящик с шириной 'точно' w или ящик с естественной шириной содержимого плюс w ('дополнительный').

Примечания

По умолчанию создается ящик с естественной шириной содержимого.

kern(self) [source]

Вставка узлов Kern между узлами Char для установки кернинга.

Узлы Char сами определяют требуемое значение кернинга (в get_kerning), и эта функция просто создает правильный связанный список.

class matplotlib.mathtext.Hrule(state, thickness=None) [source]

Основы: matplotlib.mathtext.Rule

Удобный класс для создания горизонтальной линии.

class matplotlib.mathtext.Kern(width) [source]

Основы: matplotlib.mathtext.Node

Узел Kern имеет поле ширины, чтобы указать (обычно отрицательное) значение отступа. Эта корректировка отступа появляется в горизонтальных списках между буквами, как A и V, когда дизайнер шрифтов сказал, что это выглядит лучше, если их сдвинуть ближе или дальше друг от друга. Узел керна также может появляться в вертикальном списке, когда его ширина обозначает дополнительный отступ в вертикальном направлении.

depth = 0
grow(self) [source]

Увеличение размера на один уровень. Нет ограничений на максимальный размер.

height = 0
shrink(self) [source]

Уменьшение размера на один уровень. Существует только три уровня размеров, после чего уменьшение больше невозможно.

class matplotlib.mathtext.List(elements) [source]

Основы: matplotlib.mathtext.Box

Список узлов (горизонтальный или вертикальный).

grow(self) [source]

Увеличение размера на один уровень. Нет ограничений на максимальный размер.

shrink(self) [source]

Уменьшение размера на один уровень. Существует только три уровня размеров, после чего уменьшение больше невозможно.

class matplotlib.mathtext.MathTextParser(output) [source]

Bases: object

Создаёт MathTextParser для заданного бэкенда вывода.

get_depth(self, texstr, dpi=120, fontsize=14) [source]
Параметры:
texstrstr

Коректная строка mathtext, например, r'IQ: $sigma_i=15$'.

dpifloat

Настройка точек на дюйм, используемая для рендеринга текста.

Возвращает:
int

Смещение базовой линии от нижней части изображения в пикселях.

parse(self, s, dpi=72, prop=None) [source]

Парсит заданное математическое выражение s при заданном dpi. Если prop предоставлен, это объект FontProperties, определяющий "стандартный" шрифт для использования в математическом выражении, используемый для всего текста, не являющегося математическим.

Результаты кэшируются, поэтому несколько вызовов parse с одним и тем же выражением должны быть быстрыми.

to_mask(self, texstr, dpi=120, fontsize=14) [source]
Параметры:
texstrstr

Коректная строка mathtext, например, r'IQ: $sigma_i=15$'.

dpifloat

Настройка точек на дюйм, используемая для рендеринга текста.

fontsizeint

Размер шрифта в пунктах

Возвращает:
array2D uint8 alpha

Маска массива растрового tex.

depthint

Смещение базовой линии от нижней части изображения в пикселях.

to_png(self, filename, texstr, color='black', dpi=120, fontsize=14) [source]

Рендерит tex выражение в файл PNG.

Параметры:
filename

Запись в файл или файл-объект.

texstrstr

Коректная строка mathtext, например, r'IQ: $sigma_i=15$'.

colorcolor

Цвет текста.

dpifloat

Настройка точек на дюйм, используемая для рендеринга текста.

fontsizeint

Размер шрифта в пунктах.

Возвращает:
int

Смещение базовой линии от нижней части изображения в пикселях.

to_rgba(self, texstr, color='black', dpi=120, fontsize=14) [source]
Параметры:
texstrstr

Коректная строка mathtext, например, r'IQ: $sigma_i=15$'.

colorcolor

Цвет текста.

dpifloat

Настройка точек на дюйм, используемая для рендеринга текста.

fontsizeint

Размер шрифта в пунктах.

Возвращает:
array(M, N, 4) array

RGBA значения цвета растрового tex, цветного с помощью color.

depthint

Смещение базовой линии от нижней части изображения в пикселях.

exception matplotlib.mathtext.MathTextWarning [source]

Bases: Warning

class matplotlib.mathtext.MathtextBackend [source]

Bases: object

Базовый класс для кода, специфичного для бэкенда mathtext. MathtextBackend подклассы обеспечивают интерфейс между mathtext и конкретными графическими бэкендами Matplotlib.

Подклассы должны переопределять следующее:

  • render_glyph()
  • render_rect_filled()
  • get_results()

И необязательно, если вам нужно использовать стиль подсказок FreeType:

  • get_hinting_type()
get_hinting_type(self) [source]

Получить тип подсказок FreeType для использования с этим конкретным бэкендом.

get_results(self, box) [source]

Возвращает кортеж, специфичный для бэкенда, который нужно вернуть бэкенду после завершения всей обработки.

render_glyph(self, ox, oy, info) [source]

Отобразить глиф, описанный в info, в точке отсчёта (ox, oy).

render_rect_filled(self, x1, y1, x2, y2) [source]

Отобразить заполненный чёрный прямоугольник от (x1, y1) до (x2, y2).

set_canvas_size(self, w, h, d) [source]

Установить размер холста для рисования.

class matplotlib.mathtext.MathtextBackendAgg [source]

Bases: matplotlib.mathtext.MathtextBackend

Отображает глифы и прямоугольники в буфере FTImage, который затем передаётся в изображение Agg бэкэндом.

get_hinting_type(self) [source]

Получить тип подсказки FreeType для использования с этим бэкэндом.

get_results(self, box, used_characters) [source]

Возвращает кортеж, специфичный для бэкэнда, для возврата бэкэнду после завершения всех операций.

render_glyph(self, ox, oy, info) [source]

Отображает глиф, описанный в info, в точке отсчёта (ox, oy).

render_rect_filled(self, x1, y1, x2, y2) [source]

Отрисовать заполненный чёрный прямоугольник от (x1, y1) до (x2, y2).

set_canvas_size(self, w, h, d) [source]

Установить размеры холста для отрисовки.

class matplotlib.mathtext.MathtextBackendBitmap [source]

Bases: matplotlib.mathtext.MathtextBackendAgg

get_results(self, box, used_characters) [source]

Возвращает кортеж, специфичный для бэкэнда, для возврата бэкэнду после завершения всех операций.

class matplotlib.mathtext.MathtextBackendCairo [source]

Bases: matplotlib.mathtext.MathtextBackend

Сохраняет информацию для записи отрисовки mathtext в бэкенд Cairo.

get_results(self, box, used_characters) [source]

Возвращает кортеж, специфичный для бэкэнда, для возврата бэкэнду после завершения всех операций.

render_glyph(self, ox, oy, info) [source]

Отображает глиф, описанный в info, в точке отсчёта (ox, oy).

render_rect_filled(self, x1, y1, x2, y2) [source]

Отрисовать заполненный чёрный прямоугольник от (x1, y1) до (x2, y2).

class matplotlib.mathtext.MathtextBackendPath [source]

Bases: matplotlib.mathtext.MathtextBackend

Сохраняет информацию для записи отрисовки mathtext в механизм путей текста.

get_results(self, box, used_characters) [source]

Возвращает кортеж, специфичный для бэкэнда, для возврата бэкэнду после завершения всех операций.

render_glyph(self, ox, oy, info) [source]

Отображает глиф, описанный в info, в точке отсчёта (ox, oy).

render_rect_filled(self, x1, y1, x2, y2) [source]

Отрисовать заполненный чёрный прямоугольник от (x1, y1) до (x2, y2).

class matplotlib.mathtext.MathtextBackendPdf [source]

Bases: matplotlib.mathtext.MathtextBackend

Сохраняет информацию для записи отрисовки mathtext в бэкенд PDF.

get_results(self, box, used_characters) [source]

Возвращает кортеж, специфичный для бэкэнда, для возврата бэкэнду после завершения всех операций.

render_glyph(self, ox, oy, info) [source]

Отображает глиф, описанный в info, в точке отсчёта (ox, oy).

render_rect_filled(self, x1, y1, x2, y2) [source]

Отрисовать заполненный чёрный прямоугольник от (x1, y1) до (x2, y2).

class matplotlib.mathtext.MathtextBackendPs [source]

Bases: matplotlib.mathtext.MathtextBackend

Сохраняет информацию для записи отрисовки mathtext в бэкенд PostScript.

get_results(self, box, used_characters) [source]

Возвращает кортеж, специфичный для бэкэнда, для возврата бэкэнду после завершения всех операций.

render_glyph(self, ox, oy, info) [source]

Отображает глиф, описанный в info, в точке отсчёта (ox, oy).

render_rect_filled(self, x1, y1, x2, y2) [source]

Отрисовать заполненный чёрный прямоугольник от (x1, y1) до (x2, y2).

class matplotlib.mathtext.MathtextBackendSvg [source]

Bases: matplotlib.mathtext.MathtextBackend

Хранит информацию для отрисовки математического текста в формате SVG.

get_results(self, box, used_characters) [source]

Возвращает кортеж, специфичный для бэкенда, который будет возвращён бэкенду после завершения всех операций.

render_glyph(self, ox, oy, info) [source]

Отрисовывает глиф, описанный в info, в точку с координатами (ox, oy).

render_rect_filled(self, x1, y1, x2, y2) [source]

Отрисовывает заполненный чёрный прямоугольник от точки (x1, y1) до точки (x2, y2).

class matplotlib.mathtext.NegFil(**kwargs) [source]

Bases: matplotlib.mathtext.Glue

[Устарело]

Примечания

Устарело начиная с версии 3.3:

class matplotlib.mathtext.NegFill(**kwargs) [source]

Bases: matplotlib.mathtext.Glue

[Устарело]

Примечания

Устарело начиная с версии 3.3:

class matplotlib.mathtext.NegFilll(**kwargs) [source]

Bases: matplotlib.mathtext.Glue

[Устарело]

Примечания

Устарело начиная с версии 3.3:

class matplotlib.mathtext.Node [source]

Bases: object

Узел в модели TeX-блока.

get_kerning(self, next) [source]
grow(self) [source]

Увеличивает размер на один уровень. Размер может увеличиваться без ограничений.

render(self, x, y) [source]
shrink(self) [source]

Уменьшает размер на один уровень. Есть всего три уровня уменьшения размера, после чего размер больше не уменьшается.

END_OF_DOCUMENT_MARKER
class matplotlib.mathtext.Parser [source]

Bases: object

Парсер на основе pyparsing для строк, содержащих математические выражения.

Необработанный текст также может появляться вне пар пар $.

Грамматика основана непосредственно на грамматике TeX, хотя некоторые упрощения сделаны.

class State(font_output, font, font_class, fontsize, dpi) [source]

Bases: object

Хранит состояние парсера.

Состояния помещаются и извлекаются из стека по мере необходимости, и "текущее" состояние всегда находится вверху стека.

copy(self) [source]
property font
accent(self, s, loc, toks) [source]
accentprefixed(self, s, loc, toks)
auto_delim(self, s, loc, toks) [source]
binom(self, s, loc, toks) [source]
c_over_c(self, s, loc, toks) [source]
customspace(self, s, loc, toks) [source]
dfrac(self, s, loc, toks) [source]
end_group(self, s, loc, toks) [source]
font(self, s, loc, toks) [source]
frac(self, s, loc, toks) [source]
function(self, s, loc, toks) [source]
genfrac(self, s, loc, toks) [source]
get_state(self) [source]

Получить текущее состояние State парсера.

group(self, s, loc, toks) [source]
is_between_brackets(self, s, loc) [source]
is_dropsub(self, nucleus) [source]
is_overunder(self, nucleus) [source]
is_slanted(self, nucleus) [source]
main(self, s, loc, toks) [source]
math(self, s, loc, toks) [source]
math_string(self, s, loc, toks) [source]
non_math(self, s, loc, toks) [source]
operatorname(self, s, loc, toks) [source]
overline(self, s, loc, toks) [source]
parse(self, s, fonts_object, fontsize, dpi) [source]

Парсинг выражения s, используя заданный объект шрифтов fonts_object для вывода, при заданном fontsize и dpi.

Возвращает дерево разбора из экземпляров Node.

pop_state(self) [source]

Извлечь состояние State из стека.

push_state(self) [source]

Поместить новое состояние State в стек, скопировав текущее состояние.

required_group(self, s, loc, toks)
simple_group(self, s, loc, toks)
space(self, s, loc, toks) [source]
sqrt(self, s, loc, toks) [source]
start_group(self, s, loc, toks) [source]
subsuper(self, s, loc, toks) [source]
symbol(self, s, loc, toks) [source]
unknown_symbol(self, s, loc, toks) [source]
class matplotlib.mathtext.Rule(width, height, depth, state) [source]

Базовый класс: matplotlib.mathtext.Box

Прямоугольник тёмно-чёрного цвета.

У него есть поля width, depth и height, как и в Hlist. Однако, если любое из этих размеров равно inf, фактическое значение будет определяться выполнением правила до границы самого внутреннего ограничивающего прямоугольника. Это называется «переменным размером». Ширина никогда не является переменной в Hlist; высота и глубина никогда не являются переменными в Vlist.

render(self, x, y, w, h) [source]
class matplotlib.mathtext.STIXFontConstants [source]

Базовый класс: matplotlib.mathtext.FontConstantsBase

delta = 0.05
delta_integral = 0.3
delta_slanted = 0.3
script_space = 0.1
sub2 = 0.6
sup1 = 0.8
class matplotlib.mathtext.STIXSansFontConstants [source]

Базовый класс: matplotlib.mathtext.FontConstantsBase

delta_integral = 0.3
delta_slanted = 0.6
script_space = 0.05
sup1 = 0.8
class matplotlib.mathtext.Ship [source]

Базовый класс: object

Вывод ящиков, предназначенных для вывода, после их настройки, отправляет их на вывод.

Поскольку ящики могут находиться внутри ящиков внутри ящиков, основная работа Ship выполняется двумя взаимно рекурсивными процедурами, hlist_out и vlist_out, которые обходят узлы Hlist и узлы Vlist внутри горизонтальных и вертикальных ящиков. Глобальные переменные, используемые в TeX для хранения состояния при обработке, здесь стали переменными-членами.

static clamp(value) [source]
hlist_out(self, box) [source]
vlist_out(self, box) [source]
class matplotlib.mathtext.SsGlue(**kwargs) [source]

Базовый класс: matplotlib.mathtext.Glue

[Устарело]

Примечания

Устарело начиная с версии 3.3:

class matplotlib.mathtext.StandardPsFonts(default_font_prop) [source]

Базовый класс: matplotlib.mathtext.Fonts

Используйте стандартные шрифты PostScript для рендеринга в backend_ps

В отличие от других классов шрифтов, BakomaFont и UnicodeFont, этот класс требует Ps backend.

Параметры:
default_font_prop: `~.font_manager.FontProperties`

Стандартный шрифт без математических символов или базовый шрифт для рендеринга шрифтов Unicode (общий).

mathtext_backend: `MathtextBackend` подкласс

Backend, которому на самом деле делегирован рендеринг.

basepath = '/usr/local/lib64/python3.8/site-packages/matplotlib/mpl-data/fonts/afm'
fontmap = {'cal': 'pzcmi8a', 'rm': 'pncr8a', 'tt': 'pcrr8a', 'it': 'pncri8a', 'sf': 'phvr8a', 'bf': 'pncb8a', None: 'psyr'}
get_kern(self, font1, fontclass1, sym1, fontsize1, font2, fontclass2, sym2, fontsize2, dpi) [source]

Получение расстояния кернинга между символами sym1 и sym2 в шрифте.

fontX: одно из имён шрифтов TeX:

tt, it, rm, cal, sf, bf or default/regular (non-math)

fontclassX: TODO

symX: символ в сыром формате TeX. Например, '1', 'x' или 'sigma'

fontsizeX: размер шрифта в пунктах

dpi: текущее значение точек на дюйм

get_underline_thickness(self, font, fontsize, dpi) [source]

Получение толщины линии, соответствующей данному шрифту. Используется в качестве базовой единицы для рисования линий, таких как в дроби или радикале.

get_xheight(self, font, fontsize, dpi) [source]

Получение xheight для данного font и fontsize.

class matplotlib.mathtext.StixFonts(*args, **kwargs) [source]

Базовый класс: matplotlib.mathtext.UnicodeFonts

Класс для обработки шрифтов STIX.

В дополнение к тому, что предоставляет UnicodeFonts, этот класс:

  • поддерживает «виртуальные шрифты», которые представляют собой полные наборы букв и цифр с различными стилями шрифтов в особых кодах Unicode, таких как «Чёрный».
  • обрабатывает альтернативные символы разных размеров для шрифтов STIXSizeX.
Параметры:
default_font_prop: `~.font_manager.FontProperties`

Стандартный шрифт без математических символов или базовый шрифт для рендеринга шрифтов Unicode (общий).

mathtext_backend: `MathtextBackend` подкласс

Backend, которому на самом деле делегирован рендеринг.

cm_fallback = False
get_sized_alternatives_for_symbol(self, fontname, sym) [source]

Переопределите, если ваш шрифт предоставляет несколько размеров одного и того же символа. Должен вернуть список символов, соответствующих символу в различных размерах. Редактор выражений выберет наиболее подходящий размер из этого списка для данной ситуации.

use_cmex = False
END_OF_DOCUMENT_MARKER
class matplotlib.mathtext.StixSansFonts(*args, **kwargs) [source]

Базы: matplotlib.mathtext.StixFonts

Класс обработки шрифтов STIX (по умолчанию использует шрифты без засечек).

Параметры:
default_font_prop: `~.font_manager.FontProperties`

Стандартный шрифт без математических символов или базовый шрифт для рендеринга символов Юникода (универсальный).

mathtext_backend: `MathtextBackend` подкласс

Подкласс, которому фактически делегируется рендеринг.

class matplotlib.mathtext.SubSuperCluster [source]

Базы: matplotlib.mathtext.Hlist

Обходная операция, связанная с тем, что этот код выполняет двухпроходный анализ, подобно TeX. Это позволяет нам хранить достаточную информацию в самом hlist, а именно ядро, нижний и верхний индексы, таким образом, если за ним следует другой индекс, который нужно добавить, его можно переконфигурировать на лету.

class matplotlib.mathtext.TruetypeFonts(default_font_prop, mathtext_backend) [source]

Базы: matplotlib.mathtext.Fonts

Общий базовый класс для всех настроек шрифтов, использующих шрифты TrueType (через FT2Font).

Параметры:
default_font_prop: `~.font_manager.FontProperties`

Стандартный шрифт без математических символов или базовый шрифт для рендеринга символов Юникода (универсальный).

mathtext_backend: `MathtextBackend` подкласс

Подкласс, которому фактически делегируется рендеринг.

destroy(self) [source]

Исправление циклических ссылок перед уничтожением объекта.

get_kern(self, font1, fontclass1, sym1, fontsize1, font2, fontclass2, sym2, fontsize2, dpi) [source]

Получение расстояния кернинга для шрифта между sym1 и sym2.

fontX: одно из имён шрифтов TeX:

tt, it, rm, cal, sf, bf or default/regular (non-math)

fontclassX: TODO

symX: символ в формате TeX. Например, '1', 'x' или 'sigma'

fontsizeX: размер шрифта в пунктах

dpi: текущее значение точек на дюйм

get_underline_thickness(self, font, fontsize, dpi) [source]

Получение толщины подчеркивания, соответствующей данному шрифту. Используется в качестве базовой единицы для рисования линий, например, в дроби или радикале.

get_xheight(self, fontname, fontsize, dpi) [source]

Получение x-высоты для данного font и fontsize.

class matplotlib.mathtext.UnicodeFonts(*args, **kwargs) [source]

Базы: matplotlib.mathtext.TruetypeFonts

Абстрактный базовый класс для обработки шрифтов Юникода.

Хотя некоторые достаточно полные шрифты Юникода (такие как DejaVu) могут работать в некоторых ситуациях, единственный шрифт Юникода, о котором мне известно, имеющий полный набор математических символов, это STIX.

Этот класс будет использовать шрифты Bakoma по умолчанию, когда необходимый символ не найден в шрифте.

Параметры:
default_font_prop: `~.font_manager.FontProperties`

Стандартный шрифт без математических символов или базовый шрифт для рендеринга символов Юникода (универсальный).

mathtext_backend: `MathtextBackend` подкласс

Подкласс, которому фактически делегируется рендеринг.

get_sized_alternatives_for_symbol(self, fontname, sym) [source]

Переопределить, если ваш шрифт предоставляет несколько размеров одного и того же символа. Должен вернуть список символов, соответствующих sym в различных размерах. Рендеринг выражения выберет наиболее подходящий размер из этого списка в данной ситуации.

use_cmex = True
class matplotlib.mathtext.VCentered(elements) [source]

Базы: matplotlib.mathtext.Vlist

Класс-обёртка для создания Vlist с центрированным содержимым внутри его ограничительной области.

class matplotlib.mathtext.Vbox(height, depth) [source]

Базы: matplotlib.mathtext.Box

Прямоугольник с высотой (ширина равна нулю).

class matplotlib.mathtext.Vlist(elements, h=0.0, m='additional') [source]

Базы: matplotlib.mathtext.List

Вертикальный список прямоугольников.

vpack(self, h=0.0, m='additional', l=inf) [source]

Вычисление размеров результирующих прямоугольников и корректировка расстояний, если один из этих размеров предварительно задан.

Параметры:
hfloat, default: 0

Высота.

m{'exactly', 'additional'}, default: 'additional'

Определить, должно ли прямоугольник иметь ровно заданную высоту w или высоту, равную естественной высоте содержимого плюс w (дополнительная).

lfloat, default: np.inf

Максимальная высота.

Примечания

По умолчанию создаётся прямоугольник с естественной высотой содержимого.

class matplotlib.mathtext.Vrule(state) [source]

Базы: matplotlib.mathtext.Rule

Класс-обёртка для создания вертикальной линии.

matplotlib.mathtext.get_unicode_index(symbol, math=True) [source]

Возвращает целочисленный индекс (из таблицы Юникода) символа symbol.

Параметры:
symbolstr

Один символ Юникода, команда TeX (например, r'pi') или имя символа Type1 (например, 'phi').

mathbool, default: True

Если False, всегда обрабатывать как один символ Юникода.

END_OF_DOCUMENT_MARKER
matplotlib.mathtext.math_to_image(s, filename_or_obj, prop=None, dpi=None, format=None) [source]

Дано математическое выражение, оно отрисовывается в тесно ограниченной области в файл изображения.

Параметры:
sstr

Математическое выражение. Математическая часть должна быть заключена в знаки доллара.

filename_or_objstr or path-like or file-like

Куда записать данные изображения.

propFontProperties, optional

Размер и стиль текста.

dpifloat, optional

Точки на дюйм выходных данных. Если не задано, то dpi определяется так же, как для Figure.savefig.

formatstr, optional

Формат выходных данных, например, 'svg', 'pdf', 'ps' или 'png'. Если не задано, то формат определяется так же, как для Figure.savefig.

© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.3.3/api/mathtext_api.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API