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:
RectangleЯчейка — это
Rectangleс некоторыми связаннымиText.Скорее всего, вы, как пользователь, не будете создавать ячейки самостоятельно. Вместо этого используйте функцию-фабрику
tableилиTable.add_cell.- Параметры:
-
- xy2-кортеж
-
Позиция левого нижнего угла ячейки.
- widthfloat
-
Ширина ячейки.
- heightfloat
-
Высота ячейки.
- edgecolorцвет
-
Цвет границы ячейки.
- facecolorцвет
-
Цвет заливки ячейки.
- fillbool
-
Заливать ли фон ячейки.
- textstr
-
Текст ячейки.
- loc{'left', 'center', 'right'}, по умолчанию: 'right'
-
Выравнивание текста внутри ячейки.
- fontpropertiesdict
-
Словарь, определяющий свойства шрифта текста. Поддерживаемые ключи и значения — это ключевые аргументы, принимаемые
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
Примечания
Этот метод переопределяется в подклассах Artist.
- 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>, mouseover=<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{НАЗВАНИЕ_ШРИФТА, '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{'left', 'center', 'right'}
bool
объект
числовой тип (кратное размеру шрифта)
str
bool
multialignmentили ma{'left', 'right', 'center'}
bool
None или bool или числовой тип с плавающей точкой или вызываемая функция
(числовой тип с плавающей точкой, числовой тип с плавающей точкой)
bool
числовой тип с плавающей точкой или {'vertical', 'horizontal'}
{None, 'default', 'anchor'}
(масштаб: числовой тип с плавающей точкой, длина: числовой тип с плавающей точкой, случайность: числовой тип с плавающей точкой)
bool или None
объект
bool
str
bool или None
verticalalignmentили va{'bottom', 'baseline', 'center', 'center_baseline', 'top'}
bool
bool
-
-
- set_transform(trans)[source]
-
Установить преобразование художника.
- Параметры:
-
-
t
Transform
-
t
- propertyvisible_edges
-
Границы ячейки, которые должны быть нарисованы линией.
Чтение этого свойства возвращает подстроку 'BRTL' (низ,право,верх,лево).
При установке этого свойства можно использовать подстроку 'BRTL' или одно из {'open', 'closed', 'horizontal', 'vertical'}.
- matplotlib.table.CustomCell[source]
-
псевдоним
Cell
- classmatplotlib.table.Table(ax, loc=None, bbox=None, **kwargs)[source]
-
Bases:
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 или последовательность int
-
Индексы столбцов для автоматического масштабирования.
- 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
MouseEvent
-
mouseevent
- Возвращает:
-
- containsbool
-
Содержит ли какие-либо значения в радиусе.
- detailsdict
-
Словарь, специфичный для графического объекта, содержащий детали контекста события, такие как точки, содержащиеся в радиусе выбора. См. отдельные подклассы графических объектов для подробностей.
- draw(renderer)[source]
-
Отобразить графический элемент (и его потомков) с помощью данного рендерера.
Это не имеет эффекта, если графический элемент не отображается (
Artist.get_visibleвозвращает False).- Параметры:
-
-
renderer
RendererBaseподкласс.
-
renderer
Примечания
Этот метод переопределен в подклассах графических элементов.
- свойствоedges
-
Значение по умолчанию
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=None)[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>, mouseover=<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
bool
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или [xmin, ymin, ширина, высота], необязательно -
Прямоугольник для отрисовки таблицы. Если не None, это переопределяет loc.
- edgesподстрока 'BRTL' или {'open', 'closed', 'horizontal', 'vertical'}
-
Границы ячеек, которые нужно нарисовать линией. См. также
visible_edges.
- Возвращаемое значение:
-
Table-
Созданная таблица.
- Другие параметры:
-
- **kwargs
-
Свойства
Table.Свойство
Описание
функция фильтра, которая принимает массив (m, n, 3) float и значение dpi, и возвращает массив (m, n, 3) и два смещения от нижнего левого угла изображения
скаляр или None
bool
bool
Объект Patch или (Path, Transform) или None
float
str
bool
объект
bool
None или bool или float или вызываемый объект
bool
(масштаб: float, длина: float, случайность: float)
bool или None
str
bool
float
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.7.5/api/table_api.html