matplotlib.table
Рисование таблиц.
Примечание
Реализация таблиц в Matplotlib поддерживается слабо. Для более функциональной реализации таблиц вы можете попробовать blume.
Используйте фабричную функцию table для создания готовой таблицы из текстов. Если вам нужен больший контроль, используйте класс Table и его методы.
Таблица состоит из сетки ячеек, которые индексируются по (строка, столбец). Ячейка (0, 0) расположена в левом верхнем углу.
Спасибо Джону Гилу за предоставление класса и таблицы.
- classmatplotlib.table.Cell(xy, width, height, edgecolor='k', facecolor='w', fill=True, text='', loc=None, fontproperties=None, *, visible_edges='closed')[source]
-
Bases:
matplotlib.patches.RectangleЯчейка — это
Rectangleс некоторыми связаннымиText.Вероятно, вам, как пользователю, не придётся создавать ячейки самостоятельно. Вместо этого следует использовать функцию-фабрику
tableилиTable.add_cell.- Параметры
-
- xy2-кортеж
-
Позиция левого нижнего угла ячейки.
- widthfloat
-
Ширина ячейки.
- heightfloat
-
Высота ячейки.
- edgecolorцвет
-
Цвет границы ячейки.
- facecolorцвет
-
Цвет заливки ячейки.
- fillbool
-
Заливать ли фон ячейки.
- textстрока
-
Текст ячейки.
- loc{'left', 'center', 'right'}, по умолчанию: 'right'
-
Выравнивание текста в ячейке.
- fontpropertiesсловарь
-
Словарь, определяющий свойства шрифта текста. Поддерживаемые ключи и значения — это ключевые аргументы, принимаемые
FontProperties. - visible_edgesстрока, по умолчанию: 'closed'
-
Границы ячейки, которые будут нарисованы линией: подстрока 'BRTL' (низ, правая, верх, левая), или одно из 'open' (нет нарисованных границ), 'closed' (все границы нарисованы), 'horizontal' (низ и верх), 'vertical' (право и лево).
- PAD=0.1
-
Отступ между текстом и прямоугольником.
- auto_set_font_size(renderer)[source]
-
Уменьшение размера шрифта до тех пор, пока текст не поместится в ширину ячейки.
- draw(renderer)[source]
-
Отобразить элемент (и его потомков) с помощью данного рендерера.
Это не окажет никакого влияния, если элемент не отображается (
Artist.get_visibleвозвращает False).- Параметры
-
-
renderer
RendererBaseподкласс.
-
renderer
Примечания
Этот метод переопределяется в подклассах элементов.
- get_fontsize()[source]
-
Возвращает размер шрифта ячейки.
- get_path()[source]
-
Возвращает
Pathдляvisible_edges.
- get_required_width(renderer)[source]
-
Возвращает минимальную необходимую ширину ячейки.
- get_text()[source]
-
Возвращает экземпляр ячейки
Text.
- get_text_bounds(renderer)[source]
-
Возвращает координаты границ текста (x, y, ширина, высота) в координатах таблицы.
- set(*, agg_filter=<UNSET>, alpha=<UNSET>, angle=<UNSET>, animated=<UNSET>, antialiased=<UNSET>, bounds=<UNSET>, capstyle=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, color=<UNSET>, edgecolor=<UNSET>, facecolor=<UNSET>, fill=<UNSET>, fontsize=<UNSET>, gid=<UNSET>, hatch=<UNSET>, height=<UNSET>, in_layout=<UNSET>, joinstyle=<UNSET>, label=<UNSET>, linestyle=<UNSET>, linewidth=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, text_props=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, width=<UNSET>, x=<UNSET>, xy=<UNSET>, y=<UNSET>, zorder=<UNSET>)[source]
-
Установить несколько свойств одновременно.
Поддерживаемые свойства:
Свойство
Описание
функция фильтра, принимающая массив чисел с плавающей точкой (m, n, 3) и значение dpi, и возвращающая массив чисел с плавающей точкой (m, n, 3)
скаляр или None
неизвестно
логическое значение
antialiasedили aaлогическое значение или None
(левый, нижний, ширина, высота)
CapStyleили {'butt', 'projecting', 'round'}логическое значение
Объект Patch или (Path, Transform) или None
цвет
edgecolorили ecцвет или None
facecolorили fcцвет или None
неизвестно
логическое значение
неизвестно
строка
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
неизвестно
логическое значение
JoinStyleили {'miter', 'round', 'bevel'}объект
linestyleили ls{'-', '--', '-.', ':', '', (смещение, последовательность включений-выключений), ...}
linewidthили lwчисло с плавающей точкой или None
None или логическое значение или число с плавающей точкой или вызываемая функция
логическое значение
(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)
логическое значение или None
неизвестно
неизвестно
строка
логическое значение
неизвестно
неизвестно
(число с плавающей точкой, число с плавающей точкой)
неизвестно
число с плавающей точкой
- set_figure(fig)[source]
-
Установить экземпляр
Figure, к которому принадлежит элемент.- Parameters
-
-
fig
Figure
-
fig
- set_fontsize(size)[source]
-
Установить размер шрифта текста.
-
- set_text_props(**kwargs)[source]
-
Обновление свойств текста.
Допустимые ключевые аргументы:
Свойство
Описание
функция фильтра, принимающая массив чисел с плавающей точкой (m, n, 3) и значение dpi, и возвращающая массив (m, n, 3)
скаляр или None
bool
цвет
словарь со свойствами для
patches.FancyBboxPatchнеизвестно
неизвестно
неизвестно
colorили cцвет
fontfamilyили family{FONTNAME, 'serif', 'sans-serif', 'cursive', 'fantasy', 'monospace'}
fontpropertiesили font или font_propertiesfontsizeили sizeчисло с плавающей точкой или {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}
fontstretchили stretch{числовое значение в диапазоне 0-1000, 'ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded'}
fontstyleили style{'normal', 'italic', 'oblique'}
fontvariantили variant{'normal', 'small-caps'}
fontweightили weight{числовое значение в диапазоне 0-1000, 'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy', 'extra bold', 'black'}
str
horizontalalignmentили ha{'center', 'right', 'left'}
bool
объект
число с плавающей точкой (кратное размеру шрифта)
str
multialignmentили ma{'left', 'right', 'center'}
bool
None или bool или число с плавающей точкой или вызываемая функция
(число с плавающей точкой, число с плавающей точкой)
bool
число с плавающей точкой или {'vertical', 'horizontal'}
{None, 'default', 'anchor'}
(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)
bool или None
объект
bool
str
bool или None
verticalalignmentили va{'center', 'top', 'bottom', 'baseline', 'center_baseline'}
bool
bool
число с плавающей точкой
число с плавающей точкой
-
вещественное число
- set_transform(trans)[source]
-
Установить преобразование объекта.
- Параметры
-
-
t
Transform
-
t
- propertyvisible_edges
-
Границы ячейки, которые должны быть нарисованы линией.
Чтение этого свойства возвращает подстроку 'BRTL' (низ, правая, верх, левая).
При установке этого свойства можно использовать подстроку 'BRTL' или одно из {'открытые', 'закрытые', 'горизонтальные', 'вертикальные'}.
- matplotlib.table.CustomCell[source]
-
псевдоним
matplotlib.table.Cell
- classmatplotlib.table.Table(ax, loc=None, bbox=None, **kwargs)[source]
-
Bases:
matplotlib.artist.ArtistТаблица ячеек.
Таблица состоит из сетки ячеек, индексированных по (строка, столбец).
Для простой таблицы у вас будет полная сетка ячеек с индексами от (0, 0) до (num_rows-1, num_cols-1), в которой ячейка (0, 0) расположена в левом верхнем углу. Однако вы также можете добавить ячейки с отрицательными индексами. Вам не нужно добавлять ячейку в каждую позицию сетки, поэтому вы можете создавать таблицы с пробелами.
Примечание: Обычно вы не создаете пустую таблицу с нуля. Вместо этого используйте
tableдля создания таблицы из данных.- Параметры
- Другие параметры
-
- **kwargs
-
Свойства
Artist.
- AXESPAD=0.02
-
Отступ между графикам и краем таблицы в единицах графика.
- FONTSIZE=10
- add_cell(row, col, *args, **kwargs)[source]
-
Создать ячейку и добавить ее в таблицу.
- Параметры
-
- rowint
-
Индекс строки.
- colint
-
Индекс столбца.
- *args, **kwargs
-
Все остальные параметры передаются в
Cell.
- Возвращает
-
Cell-
Созданная ячейка.
- auto_set_column_width(col)[source]
-
Автоматически задать ширину указанных столбцов на оптимальные значения.
- Параметры
-
- colint или последовательность целых чисел
-
Индексы столбцов для автоматического масштабирования.
- auto_set_font_size(value=True)[source]
-
Автоматически задать размер шрифта.
- codes={'best': 0, 'bottom': 17, 'bottom left': 12, 'bottom right': 13, 'center': 9, 'center left': 5, 'center right': 6, 'left': 15, 'lower center': 7, 'lower left': 3, 'lower right': 4, 'right': 14, 'top': 16, 'top left': 11, 'top right': 10, 'upper center': 8, 'upper left': 2, 'upper right': 1}
-
Возможные значения для размещения таблицы относительно графика.
- contains(mouseevent)[source]
-
Проверка, содержит ли объект события мыши.
- Параметры
-
-
mouseevent
matplotlib.backend_bases.MouseEvent
-
mouseevent
- Возвращает
-
- containsbool
-
Является ли какое-либо значение в радиусе.
- detailsdict
-
Словарь с подробностями контекста события для конкретного элемента, например, какие точки находятся в радиусе выделения. См. Подклассы отдельных элементов для получения дополнительной информации.
- draw(renderer)[source]
-
Отрисовка элемента (и его потомков) с помощью данного рендерера.
Не имеет эффекта, если элемент не виден (
Artist.get_visibleвозвращает False).- Параметры
-
-
renderer
RendererBaseподкласс.
-
renderer
Примечания
Этот метод переопределён в подклассах элементов.
- propertyedges
-
Значение по умолчанию
visible_edgesдля новых ячеек, добавленных с помощьюadd_cell.Примечания
Это значение в настоящее время влияет только на вновь созданные ячейки с помощью
add_cell.Чтобы изменить существующие ячейки, необходимо явно установить их края:
for c in tab.get_celld().values(): c.visible_edges = 'horizontal'
- get_celld()[source]
-
Возвращает словарь ячеек в таблице, сопоставляющий (строка, столбец) с
Cell.Примечания
Вы также можете напрямую обратиться к элементам таблицы для доступа к отдельным ячейкам:
cell = table[row, col]
- get_children()[source]
-
Возвращает элементы, содержащиеся в таблице.
- get_window_extent(renderer)[source]
-
Получить ограничивающую рамку объекта в пространстве отображения.
Ширина и высота ограничивающей рамки неотрицательны.
Подклассы должны переопределять для включения в вычисление «плотной» ограничивающей рамки. По умолчанию возвращается пустая ограничивающая рамка в координатах 0, 0.
Будьте осторожны при использовании этой функции, результаты не обновятся, если изменится область отображения объекта. Область может измениться из-за любых изменений в стеке преобразований, таких как изменение пределов осей, размера рисунка или используемого холста (как это делается при сохранении рисунка). Это может привести к неожиданному поведению, когда интерактивные фигуры будут выглядеть хорошо на экране, но будут сохранены некорректно.
- scale(xscale, yscale)[source]
-
Масштабировать ширину столбцов на xscale и высоту строк на yscale.
- set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, fontsize=<UNSET>, gid=<UNSET>, in_layout=<UNSET>, label=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[source]
-
Установить несколько свойств одновременно.
Поддерживаемые свойства:
Свойство
Описание
функция фильтра, которая принимает массив float (m, n, 3) и значение dpi, и возвращает массив (m, n, 3)
скаляр или None
bool
bool
Patch или (Path, Transform) или None
float
str
bool
object
None или bool или float или callable
bool
(scale: float, length: float, randomness: float)
bool или None
str
bool
float
- set_fontsize(size)[source]
-
Установить размер шрифта, в пунктах, текста ячейки.
- Параметры
-
- sizefloat
Примечания
Пока автоматический размер шрифта не отключен, значение будет ограничено таким образом, чтобы текст помещался горизонтально в ячейку.
Вы можете отключить это поведение, используя
auto_set_font_size.>>> the_table.auto_set_font_size(False) >>> the_table.set_fontsize(20)
Однако, автоматического масштабирования высоты строки нет, поэтому текст может выходить за пределы ячейки.
- matplotlib.table.table(ax, cellText=None, cellColours=None, cellLoc='right', colWidths=None, rowLabels=None, rowColours=None, rowLoc='left', colLabels=None, colColours=None, colLoc='center', loc='bottom', bbox=None, edges='closed', **kwargs)[source]
-
Добавить таблицу к
Axes.Должен быть указан хотя бы один из параметров cellText или cellColours. Эти параметры должны быть двумерными списками, где внешние списки определяют строки, а внутренние списки определяют значения столбцов для каждой строки. Каждая строка должна иметь одинаковое количество элементов.
Таблица может опционально иметь заголовки строк и столбцов, которые настраиваются с помощью rowLabels, rowColours, rowLoc и colLabels, colColours, colLoc соответственно.
Для более тонкого управления таблицами используйте класс
Tableи добавьте его к осям с помощьюAxes.add_table.- Параметры
-
- cellText2D список str, необязательно
-
Текст для размещения в ячейках таблицы.
Примечание: Разрывы строк в строках в настоящее время не учитываются и приведут к тому, что текст будет выходить за границы ячейки.
- cellColours2D список цветов, необязательно
-
Цвета фона ячеек.
- cellLoc{'left', 'center', 'right'}, по умолчанию: 'right'
-
Выравнивание текста внутри ячеек.
- colWidthsсписок float, необязательно
-
Ширина столбцов в единицах осей. Если не задано, все столбцы будут иметь ширину 1 / ncols.
- rowLabelsсписок str, необязательно
-
Текст ячеек заголовков строк.
- rowColoursсписок цветов, необязательно
-
Цвета ячеек заголовков строк.
- rowLoc{'left', 'center', 'right'}, по умолчанию: 'left'
-
Выравнивание текста ячеек заголовков строк.
- colLabelsсписок str, необязательно
-
Текст ячеек заголовков столбцов.
- colColoursсписок цветов, необязательно
-
Цвета ячеек заголовков столбцов.
- colLoc{'left', 'center', 'right'}, по умолчанию: 'left'
-
Выравнивание текста ячеек заголовков столбцов.
- locstr, необязательно
-
Положение ячейки относительно ax. Это должно быть одним из
codes. -
bbox
Bbox, необязательно -
Границы для отрисовки таблицы. Если это не None, это переопределяет loc.
- edgesподстрока 'BRTL' или {'open', 'closed', 'horizontal', 'vertical'}
-
Границы ячеек, которые будут нарисованы линией. См. также
visible_edges.
- Возвращает
-
Table-
Созданная таблица.
- Другие параметры
-
- **kwargs
-
Свойства
Table.Свойство
Описание
функция фильтра, которая принимает массив float (m, n, 3) и значение dpi, и возвращает массив (m, n, 3)
скаляр или None
bool
bool
Patch или (Path, Transform) или None
float
str
bool
object
None или bool или float или callable
bool
(scale: float, length: float, randomness: float)
bool или None
str
bool
float
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.5.1/api/table_api.html