1. 在matplotlib中,我最常用
plt.figure(figsize=(a,b))
其中,a,b为画布的宽和高
2. 如果是要画多个子图这样的形式,我一般使用
也就是使用
plt.figure(figsize=(60,13)) plt.subplot(121) # 1行2列,第1个图,只能创建一个图 plt.subplot(122) # 1行2列,第2个图,只能创建一个图
画出的图如下:
3. 现在我见到这样的形式(创建多个子图):
fig, ax = plt.subplots(figsize = (a, b))
和之前的啥关系?
fig代表绘图窗口(Figure);ax代表这个绘图窗口上的坐标系(axis),一般会继续对ax进行操作。
fig, ax = plt.subplots()
等价于: fig = plt.figure() ax = fig.add_subplot(1, 1, 1)
例如:
fig, ax = plt.subplots(1,3)
其中1,3表示1行3列的子图,一共1*3个子图像。也就是函数返回一个figure图像和子图ax的array列表。
如果想设置子图的宽和高可以加入参数figsize
fig, ax = plt.subplots(1,3,figsize=(15,7))
举例:
换用plt,subplot()
面向对象API:add_subplots和add_axes新增子图或者区域
add_subplot与add_axes都是面对象figure编程的,pyplot api中没有此命令
梳理下概念
matplotlib的图形绘制是面向对象封装的,matplotlib是由多个Figure对象构成,每个Figure对象包含多个子图对象Axes(Axes中还默认包含两个Axis对象,一个表示x轴,一个表示y轴).在Axes中包含多个Artist对象