Matplotlib plt.gca() 参数

基本要素

在开始画图之前我们先看一下matplotlib画图的基本要素,我们结合官方给出的两张图来看

我们对上面两张图分别解释 Matplotlib 中的一些概念

  • Figure: 可以理解为画布,在画图之前首先必须先创建一个画布,然后再在这个画布上画图,在一个画布上可以画多个图
  • Axes: 可以理解为画布上的一个图,通过 subplot 在画布上可以画多个图,一个图对应一个 Axes
  • Axis: 坐标轴
  • title: 该图对应的标题
  • xy label: 水平轴和垂直轴代表的意义
  • Grid: 右图中的虚线网格,可显示也可不显示
  • Legend: 图例,标识不同图形
  • Markers: 表示点的形状

如果你去翻过 Matplotlib 的一些函数源文件 你就可以发现 (这里以plt.title()为例):

image-20240415143841026
image-20240415143841026

使用plt的函数都是返回给gca().什么什么的

plt.gca()是用来获取当前坐标轴对象的 是"Get Current Axes"的缩, Axes是图形对象(Figure)中的一个重要组成部分,用于绘制和管理图形的各个元素,如曲线、散点图、文本、坐标轴等。

gca()函数都可以指定Axes对象进行设置 不指定就是当前子图

可以使用plt.subplots函数来创建Figure和Axes, 并将其对应对象返回, 它是绘图的最顶层容器。可以使用该对象进行图形的设置和操作,例如设置图形的大小、标题等

image-20240415151128321
image-20240415151128321

Axes.patches

这是一个不是很好讲的东西

image-20240415153608497
image-20240415153608497

Axes.patches 可以返回这个坐标轴中的图形的图形 这里画的是柱状图有四个柱子所以他返回了 Rectangle 就是矩形

image-20240415153724870
image-20240415153724870

image-20240415153923801
image-20240415153923801

获取到的数据有很多的位置 高宽 可以get出来用来画图

Axes.add_patch(plt.Rectangle()) 可以自定义添加矩形

image-20240415163922504
image-20240415163922504

aplines

可以对图上的轴线进行设置

image-20240416155258209
image-20240416155258209

代码提示问题

当你在使用PyCharm时代码提示不工作的时候,PyCharm 无法自动判断函数返回值的类型 , 可以这样做

image-20240417084756043
image-20240417084756043

可以看到axes设置没有代码提示这让人很想杀人

解决方法就是给ax加上类型注解 (需要注意的是如果函数返回的是元组,不能设置类型注解 会提示 变量注解不能与元组解包相结合)

image-20240417090003770
image-20240417090003770

image-20240417085452320
image-20240417085452320

代码提示就成功的有了 非常方便