Python-如何在matplotlib中获得多个子图?

发布于 2021-02-02 23:15:06

我对这段代码的工作方式有些困惑:

fig, axes = plt.subplots(nrows=2, ncols=2)
plt.show()

在这种情况下,无花果轴如何工作?它有什么作用?

同样为什么这项工作不能做同样的事情:

fig = plt.figure()
axes = fig.subplots(nrows=2, ncols=2)
关注者
0
被浏览
117
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    有几种方法可以做到这一点。该subplots方法创建图形以及子图,然后将其存储在ax数组中。例如:

    import matplotlib.pyplot as plt
    
    x = range(10)
    y = range(10)
    
    fig, ax = plt.subplots(nrows=2, ncols=2)
    
    for row in ax:
        for col in row:
            col.plot(x, y)
    
    plt.show()
    

    但是,类似的事情也可以使用,但是并不是很“干净”,因为你要创建带有子图的图形,然后在其上添加:

    fig = plt.figure()
    
    plt.subplot(2, 2, 1)
    plt.plot(x, y)
    
    plt.subplot(2, 2, 2)
    plt.plot(x, y)
    
    plt.subplot(2, 2, 3)
    plt.plot(x, y)
    
    plt.subplot(2, 2, 4)
    plt.plot(x, y)
    
    plt.show()
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看