上一篇我们介绍了Figure对象,解析了Figure的调用和形参。
本篇我们介绍Figure对象的属性和方法。matplotlib官方文档公开了Figure的2个属性,60个方法:
2个属性是:
- **patch,**代表figure矩形区域的实例。
- **suppressComposite,**后端的图像合成设置,一般为None,使用渲染器的option_image_nocomposite函数。
除非你非常明确你要做什么,否则不应修改这两个属性。
60个方法
一看到有60个方法,很多人头就有点晕了。所以我们有必要对这些方法进行归类。
高清图片请前往"Python草堂“Q群下载
Figure方法的分类和主要用途:
向figure容器中添加子对象。
如添加axes, subplot, artist, text等,共有11个,其中的add_axes, add_subplot,legend常用且很重要。
一般情况下,artist应该添加到axes中。只有在你很清楚需要将artist直接添加到figure中才使用add_artist()方法。
读取figure的各个属性的当前值,get_
如facecolor,edgecolor, frameon等,共19个,我们若想了解figure的某个属性值时,可以用这些方法。
对用matplotlib做二次开发来说,这些方法比较重要。
**特别提示:**这19个方法中
- axes, dpi, frameon, gca等4个方法没有”get_“前导字符;
- axes, dpi, frameon等3个方法,在调用时,没有参数圆括号”()“。
设置figure的各个属性值,set_
set_ 方法将覆盖创建figure时的参数设置。
**注意:**设置值是作为方法的参数提供的。
管理子对象的方法 4 个
- clear(),清除figure中的子对象。不影响figure本身。
- clf(),同clear()。
- delaxes(),删除指定的axes。
- sca(),设置当前的axes,并返回它;即可在指定axes状态下绘图,对函数式绘图调用指定axes有用。
布局、渲染、其它等11个
- 布局:set_constrained_layout_pads(), set_size_inches() , subplots_adjust() , tight_layout()
- 交互:ginput(), waitforbuttonpress()
- 事件:contains(),
- 渲染:draw(), draw_artist() , show()
需要全部记住它们吗?
这么多方法,我们需要全部记住它们吗?不需要,我们要做的是:
- 基于上述分类,清晰地知道Figure对象本身给我们提供了哪些工具;
- 了解每个工具的基本用途,即这些工具可以做什么;
- 对一些常用的、重要的方法熟练掌握。
- 对一些特殊的工具,知道有这个工具,到时来查找即可。
为了便于大家实现上面的”小目标“,我把上述60个方法的调用签名、用途、分类整理成了一个表格,详细的表格大家可以到Q群里下载,下面提供部分截图。
把前面的思维导图和表格看两遍,就应该基本建立了这些方法的架构和思路。
这60个方法中的大部分用途、用法都很简单,有些方法一般情况下很少使用。
其中有几个最重要,也是最常用的方法:
- add_axes()
- add_subplot()
- legend()
- text()
后面,我们将依次讨论它们。