matplotlib.table
#
表格绘制。
备注
Matplotlib 中的表格实现维护较少。对于功能更丰富的表格实现,您可能希望尝试 blume。
使用工厂函数 table
从文本创建一个现成的表格。如果需要更多控制,请使用 Table
类及其方法。
表格由一个单元格网格组成,这些单元格通过 (行, 列) 进行索引。单元格 (0, 0) 位于左上角。
感谢 John Gill 提供的类和表。
- class matplotlib.table.Cell(xy, width, height, *, edgecolor='k', facecolor='w', fill=True, text='', loc='right', fontproperties=None, visible_edges='closed')[源代码][源代码]#
基类:
Rectangle
一个单元格是一个带有相关
Text
的Rectangle
。作为用户,您最可能不会自己创建单元格。相反,您应该使用
table
工厂函数或Table.add_cell
。- 参数:
- xy2-元组
单元格左下角的坐标。
- 宽度浮动
单元格宽度。
- 高度浮动
单元格高度。
- edgecolor : color, 默认: 'k'颜色, 默认: 'k'
单元格边框的颜色。
- facecolor : color, 默认: 'w'颜色,默认值:'w'
单元格的背景颜色。
- 填充bool, 默认值: True
单元格背景是否被填充。
- 文本str, 可选
单元格文本。
- loc{'right', 'center', 'left'}
单元格内文本的对齐方式。
- fontpropertiesdict, 可选
定义文本字体属性的字典。支持的键和值是
FontProperties
接受的参数。- visible_edges{'closed', 'open', 'horizontal', 'vertical'} 或 'BRTL' 的子字符串
要绘制的单元格边缘:'BRTL'(底部、右侧、顶部、左侧)的子字符串,或以下之一:'open'(不绘制边缘)、'closed'(绘制所有边缘)、'horizontal'(底部和顶部)、'vertical'(右侧和左侧)。
- PAD = 0.1#
文本与矩形之间的填充。
- draw(renderer)[源代码][源代码]#
使用给定的渲染器绘制艺术家(及其子项)。
如果艺术家不可见(
Artist.get_visible
返回 False),则此操作无效。- 参数:
- 渲染器 :
RendererBase
子类。RendererBase 子类。
- 渲染器 :
注释
此方法在 Artist 子类中被重写。
- get_path()[源代码][源代码]#
返回
visible_edges
的Path
。
- 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>)[源代码]#
一次性设置多个属性。
支持的属性是
属性
描述
一个过滤函数,它接受一个 (m, n, 3) 的浮点数数组和一个 dpi 值,并返回一个 (m, n, 3) 数组和两个从图像左下角开始的偏移量
标量或无
未知
布尔
抗锯齿
或 aa布尔值或无
(左, 底, 宽, 高)
CapStyle
或 {'butt', 'projecting', 'round'}BboxBase
或 None布尔
补丁或(路径,变换)或无
edgecolor
或 eccolor or None
facecolor
或 fccolor or None
未知
布尔
未知
str
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
未知
布尔
JoinStyle
或 {'miter', 'round', 'bevel'}对象
线型
或 ls{'-', '--', '-.', ':', '', (偏移, 开-关-序列), ...}
linewidth
或 lw浮点数或无
布尔
None 或 bool 或 float 或 callable
布尔
(scale: float, length: float, randomness: float)
布尔值或无
未知
未知
str
布尔
未知
未知
(浮点数, 浮点数)
未知
浮动
- set_text_props(**kwargs)[源代码][源代码]#
更新文本属性。
有效的关键字参数是:
属性
描述
一个过滤函数,它接受一个 (m, n, 3) 的浮点数数组和一个 dpi 值,并返回一个 (m, n, 3) 数组和两个从图像左下角开始的偏移量
标量或无
布尔
布尔
带有
patches.FancyBboxPatch
属性的字典未知
未知
未知
颜色
或 cfontfamily
或 family 或 fontname{FONTNAME, 'serif', 'sans-serif', 'cursive', 'fantasy', 'monospace'}
fontproperties
或 font 或 font_properties字体大小
或大小float 或 {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}
fontstretch
或 stretch{一个数值范围在0-1000,'超压缩','特压缩','压缩','半压缩','正常','半扩展','扩展','特扩展','超扩展'}
fontstyle
或样式{'normal', 'italic', 'oblique'}
fontvariant
或 variant{'normal', 'small-caps'}
fontweight
或 weight{一个数值范围在0-1000,'超轻','轻','正常','常规','书','中等','罗马','半粗','半粗','半','粗','重','特粗','黑'}
str
horizontalalignment
或 ha{'left', 'center', 'right'}
布尔
对象
浮动(字体大小的倍数)
str
布尔
多重对齐
或 ma{'left', 'right', 'center'}
布尔
None 或 bool 或 float 或 callable
(浮点数, 浮点数)
布尔
浮点数或 {'垂直', '水平'}
{None, 'default', 'anchor'}
(scale: float, length: float, randomness: float)
布尔值或无
对象
布尔
str
bool, 默认值:
rcParams["text.usetex"]
(default:False
)垂直对齐
或 va{'baseline', 'bottom', 'center', 'center_baseline', 'top'}
布尔
布尔
浮动
浮动
浮动
- property visible_edges#
要用线条绘制的单元格边缘。
读取此属性将返回 'BRTL' 的子字符串(底部、右侧、顶部、左侧)。
设置此属性时,您可以使用 'BRTL' 的子字符串或 {'open', 'closed', 'horizontal', 'vertical'} 中的一个。
- class matplotlib.table.Table(ax, loc=None, bbox=None, **kwargs)[源代码][源代码]#
基类:
Artist
一个单元格表格。
表格由一个网格单元格组成,这些单元格通过 (行, 列) 进行索引。
对于一个简单的表格,你将有一个完整的单元格网格,索引从 (0, 0) 到 (num_rows-1, num_cols-1),其中单元格 (0, 0) 位于左上角。然而,你也可以添加带有负索引的单元格。你不必在每个网格位置添加单元格,因此你可以创建带有空洞的表格。
注意:通常你不会从头创建一个空表。相反,使用
table
从数据创建表格。- 参数:
- 其他参数:
- **kwargs
Artist
属性。
- AXESPAD = 0.02#
Axes 和表格边缘之间的边框,以 Axes 单位表示。
- FONTSIZE = 10#
- 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}#
相对于 Axes 放置表格的可能值。
- contains(mouseevent)[源代码][源代码]#
测试艺术家是否包含鼠标事件。
- 参数:
- mouseevent鼠标事件
- 返回:
- 包含布尔
是否有任何值在半径范围内。
- 详情dict
一个特定于艺术家的关于事件上下文细节的字典,例如哪些点包含在拾取半径内。详情请参阅各个 Artist 子类。
- draw(renderer)[源代码][源代码]#
使用给定的渲染器绘制艺术家(及其子项)。
如果艺术家不可见(
Artist.get_visible
返回 False),则此操作无效。- 参数:
- 渲染器 :
RendererBase
子类。RendererBase 子类。
- 渲染器 :
注释
此方法在 Artist 子类中被重写。
- property edges#
使用
add_cell
添加的新单元格的visible_edges
的默认值。注释
此设置目前仅影响使用
add_cell
创建的新单元格。要更改现有单元格,您必须显式设置它们的边缘:
for c in tab.get_celld().values(): c.visible_edges = 'horizontal'
- get_celld()[源代码][源代码]#
返回一个字典,其中包含表格中的单元格,映射 (行, 列) 到
Cell
。注释
你也可以直接索引到 Table 对象以访问单个单元格:
cell = table[row, col]
- get_window_extent(renderer=None)[源代码][源代码]#
获取艺术家在显示空间中的边界框。
边界框的宽度和高度是非负的。
子类应覆盖以包含在边界框“紧密”计算中。默认是返回位于 0, 0 的空边界框。
使用此功能时要小心,如果艺术家窗口的范围发生变化,结果将不会更新。范围可能会因变换堆栈中的任何更改而改变,例如更改轴的限制、图形大小或使用的画布(如在保存图形时所做的那样)。这可能导致意外行为,即交互式图形在屏幕上看起来正常,但保存时会出现错误。
- 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>)[源代码]#
一次性设置多个属性。
支持的属性是
属性
描述
一个过滤函数,它接受一个 (m, n, 3) 的浮点数数组和一个 dpi 值,并返回一个 (m, n, 3) 数组和两个从图像左下角开始的偏移量
标量或无
布尔
BboxBase
或 None布尔
补丁或(路径,变换)或无
浮动
str
布尔
对象
布尔
None 或 bool 或 float 或 callable
布尔
(scale: float, length: float, randomness: float)
布尔值或无
str
布尔
浮动
- set_fontsize(size)[源代码][源代码]#
设置单元格文本的字体大小,以点为单位。
- 参数:
- 大小浮动
注释
只要未禁用自动字体大小,该值将被裁剪,以使文本水平适应单元格。
你可以使用
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)[源代码][源代码]#
向
Axes
添加一个表格。至少需要指定 cellText 或 cellColours 中的一个。这些参数必须是二维列表,其中外层列表定义行,内层列表定义每行的列值。每行必须具有相同数量的元素。
表格可以选择性地有行和列标题,这些标题分别使用 rowLabels、rowColours、rowLoc 和 colLabels、colColours、colLoc 进行配置。
对于更精细的表格控制,使用
Table
类,并使用Axes.add_table
将其添加到 Axes 中。- 参数:
- cellText二维字符串列表,可选
要放入表格单元格的文本。
注意:字符串中的换行符目前未被考虑,这将导致文本超出单元格边界。
- cellColours : color 的二维列表, 可选二维列表
单元格的背景颜色。
- cellLoc{'right', 'center', 'left'}
单元格内文本的对齐方式。
- colWidths浮点数列表,可选
坐标轴单位中的列宽。如果没有给出,所有列的宽度将为 1 / ncols。
- 行标签list of str, 可选
行标题单元格的文本。
- rowColours : color 的列表, 可选列表
行标题单元格的颜色。
- rowLoc{'left', 'center', 'right'}
行标题单元格的文本对齐方式。
- colLabelslist of str, 可选
列标题单元格的文本。
- colColours : color 的列表, 可选列表
列标题单元格的颜色。
- colLoc{'center', 'left', 'right'}
列标题单元格的文本对齐方式。
- locstr, 默认值: 'bottom'
单元格相对于 ax 的位置。这必须是
codes
之一。- bbox :
Bbox
或 [xmin, ymin, width, height],可选Bbox 或 [xmin, ymin, width, height],可选 一个用于绘制表格的边界框。如果这不是 None,这将覆盖 loc。
- 边缘{'closed', 'open', 'horizontal', 'vertical'} 或 'BRTL' 的子字符串
要绘制的单元格边缘。另见
visible_edges
。
- 返回:
Table
创建的表格。
- 其他参数: