fig = plt.figure(),plt.subplots()的作用

参考多个知乎回答
matplotlib刨根问底系列之二:再谈Figure和Axes的区别 – 有风吹过山峰的文章 – 知乎
python matplotlib中axes与axis的区别是什么? – 禹洋搬运工的回答 – 知乎

使用matplotlib批量绘图并保存的正确做法? – 知乎

matplotlib.pyplot的使用总结大全(入门加进阶) – 刘毛毛的文章 – 知乎

前端 plt.figure()函数绘图使用方法

简单介绍以下

fig = plt.figure()作用就是生成一个图框,但是这个图框还不能用来画图,画图需要在子图(subplot)或者轴域(Axes)中作图,用别人的话说,fig = plt.figure()就是生成了一个画板,在画板fig上使用ax = fig.add_sudplot(a,b,c)就生成了一个子图ax,fig,ax = plt.subplots(a,b)就是即生成了画板fig,又生成了一组子图ax,使用ax[x,y]便选中了一个子图,下面说一下plt.figure(),plt.subplolts(),fig.add_sudplot()函数的参数

figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)

      num : 图像编号或名称,数字为编号,字符串为名称
  figsize : 指定figure的宽和高,单位为英寸
      dpi : 指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80
facecolor : 背景的颜色
edgecolor : 边框颜色
  frameon : 是否显示边框
suplot(nrows, ncols, sharex, sharey, subplot_kw, **fig_kw)

      nrows : subplot的行数
      ncols : subplot的列数
     sharex : 所有subplot应该使用相同的X轴刻度(调节xlim将会影响所有subplot)
     sharey : 所有subplot应该使用相同的Y轴刻度(调节ylim将会影响所有subplot)
 subplot_kw : 用于创建各subplot的关键字字典
   **fig_kw : 创建figure时的其他关键字,如plt.subplots(2, 2, figsize=(8, 6))

fig.add_subplot(2, 2, 1)或者fig.add_subplot(221)函数中2,2,1表示的意思是创建一个子图,但是这个子图的位置比较特殊,如果将fig画板分为2×2的格子,并且标上坐标,那么子图的位置就在(1,1)例如下面的代码就会产生图一,图二的效果(在确定位置生成子图,并生成文件fc.pdf)

import matplotlib.pyplot as plt
import numpy as np


fig = plt.figure(num = 1)
ax = fig.add_subplot(221)	# 与fig.add_subplot(2,2,1)效果一样
ax1 = fig.add_subplot(2,2,2)
ax.plot([1,2],[3,4])
plt.savefig("./fc.pdf")
plt.show()
plt.close(fig)

图一:生成了两个子图

图二:产生了fc.pdf文件

然而plt.subplot(a,b)直接生成了axb张子图,例如图三

import matplotlib.pyplot as plt
import numpy as np


fig ,ax = plt.subplots(3,3)
ax[0,0].plot([1,2,3])
plt.show()

图三:生成了3×3张字图并在ax[0,0]和ax[1,2]中作图

可以看到子图ax的第一个坐标为行,第二个坐标为列。

来源:skk1faker

物联沃分享整理
物联沃-IOTWORD物联网 » fig = plt.figure(),plt.subplots()的作用

发表评论