欢迎关注WX公众号:【程序员管小亮】

在matplotlib一般使用plt.figure来设置窗口尺寸。

plt.figure(figsize=(a, b)) 


其中figsize用来设置图形的大小,a为图形的宽, b为图形的高,单位为英寸。

但是如果使用plt.subplots,就不一样了。

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)

实例1:

fig, ax = plt.subplots(1, 3, 1)


第一个1参数是子图的行数,第二个3参数是子图的列数,第三个1参数是代表第一个子图,如果想要设置子图的宽度和高度可以在函数内加入figsize值。

实例2:

import numpy as np
import matplotlib.pyplot as plt

# 做1*1个子图,等价于"fig, ax = plt.subplot()",等价于"fig, ax = plt.subplots()"
fig, ax = plt.subplots(1, 1)
ax2 = ax.twinx() # 让2个子图的x轴一样,同时创建副坐标轴。

# 作y=sin(x)函数
x1 = np.linspace(0, 2 * np.pi, 100) # 表示在区间[0, 2π]之间取100个点作为横坐标
y1 = np.sin(x1)
ax.plot(x1, y1)

# 作y=cos(x)函数
x2 = np.linspace(0, 2 * np.pi, 100)
y2 = np.cos(x2)
ax2.plot(x2, y2)
plt.show()


fig, ax = plt.subplots(figsize = (a, b))解析(最清晰的解释)_公众号