Matplotlib图结构分析
2021-8-11
| 2023-8-6
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
Property

notion image
 
  • Figure:图形绘制的画板,他就相当于一个黑板,所有的图都是绘制在Figure上面
  • Axes:每个图都是Axes对象。一个Figure上可以有多个Axes对象
  • Axisx轴、y轴的对象
  • Tickx轴和y轴上的刻度对象。每一个刻度都是一个Tick对象
  • TickLabel:每个刻度上都要显示文字,这个文字的显示就是在TickLabel
  • AxisLabelx轴和y轴的名称的文字显示
  • Legend:图例对象
  • TitleAxes图的标题对象
  • Line2D:绘制在Axes上的线条对象,比如折线图等
  • Reactangle:绘制在Axes上的矩形对象,比如条形图等
  • Marker:标记点,比如绘制散点图上的每个点就是这个对象
  • Artist:只要是绘制在Figure上的元素(包括Figure),都是Artist的子类
 

Figure容器

Figure容器是最顶层的容器,他几乎包含了这个图的所有对象。通过add_subplotadd_axes方法可以添加Axes对象,这两个方法添加的都是Axes及其子类的对象。添加完成后是存储在figure.axes中:
notion image

添加Axes对象

Figure只是一个黑板,如果想要绘图,需要先添加Axes。添加Axes可以通过add_axesadd_subplot来实现:
notion image
 

操作当前Axes对象

可以通过figure.gca以及figure.sca来设置和获取当前的axes对象:
 
 

删除Axes对象

Figure上的所有Axes对象都是保存在fig.axes中,但是如果想要删除某个Axes对象,那么必须通过delaxes来实现:
 

获取所有的axes

 

Figure的属性

notion image
 
Figure类定义介绍
 

Axes容器

Axes容器是用来创建具体的图形的。比如画曲线,柱状图,都是画在上面。所以之前、使用plt.xx绘制各种图形(比如条形图,直方图,散点图等)都是对Axes的封装。比如plt.plot对应的是axes.plot,比如plt.hist对应的是axes.hist。针对图的所有操作,都可以在Axes上找到对应的API。另外Axis容器,是轴的对象,也是绑定在Axes上面
Axes的类定义介绍:

设置x和y轴的最大值和最小值

设置完刻度后,我们还可以设置x轴和y轴的最大值和最小值。可以通过set_xlim/set_ylim来实现:
 

添加文本

之前添加文本用的是annotate,但是如果不是需要做注释,其实还有另外一种更加简单的方式,那就是使用text方法:
notion image
 

绘制双Y

notion image
 
loc参数用于大致调整图例位置
位置
String
Number
右上
upper right
1
左上
upper left
2
左下
lower left
3
右下
lower right
4
正右
right
5
中央偏左
center left
6
中央偏右
center right
7
中央偏下
lower center
8
中央偏上
upper center
9
正中央
center
10
 
 

Axis容器

Axis代表的是x轴或者y轴的对象。包含Tick(刻度)对象,TickLabel刻度文本对象,以及AxisLabel坐标轴文本对象。axis对象有一些方法可以操作刻度和文本等。

设置x轴和y轴label的位置

 
 
notion image
 

设置刻度上的刻度格式

 
notion image
 

设置轴的属性

 
 
 
notion image
 
 

Tick容器

Tick是用来做刻度的,包括刻度和网格对象。其中可操作的属性如下:
notion image
 
 
 
notion image
 
 
  • Matplotlib
  • 实时画图多图布局设置
    目录