gpt4 book ai didi

python - Matplotlib 子图解包不开心

转载 作者:太空宇宙 更新时间:2023-11-04 08:02:20 26 4
gpt4 key购买 nike

我正在使用 Jupyter notebook,我想要一个子图网格,它是 6 个图高 x 4 个图深。

在添加任何数据或操作绘图之前,我尝试单独运行以下行:

f, (ax1, ax2) = plt.subplots(6, 4, sharex=True, figsize=(13, 7))

它给出了这个异常(exception):

--------------------------------------------------------------------------- ValueError                                Traceback (most recent call last) <ipython-input-66-4b47dbb065be> in <module>()
12 # fig, ax = plt.subplots(1, 1, figsize=(13, 7))
13
---> 14 f, (ax1, ax2) = plt.subplots(6, 4, sharex=True, figsize=(13, 7))
15 # ax1.plot(x, y)
16 # ax1.set_title('Sharing Y axis')

ValueError: too many values to unpack

最佳答案

您正在尝试创建一个 6x4 (=24) 子图的网格,但您只命名了 2 个子图以捕获从 plt.subplots 返回的内容,因此它试图解包 24 个子图分为两个变量(ax1ax2)。

你有几个选择:

  1. 在一个容器中捕获所有子图实例,然后对其进行索引以访问各个子图:

    f, axes = plt.subplots(6, 4, sharex=True, figsize=(13, 7))
    axes[0,0].plot(x,y) # plot on top left subplot
    axes[2,1].plot(x,y) # plot on subplot in column 3, row 2
  2. 单独捕获所有子图:

    fig, (
    (ax11, ax21, ax31, ax41),
    (ax12, ax22, ax32, ax42),
    (ax13, ax23, ax33, ax43),
    (ax14, ax24, ax34, ax44),
    (ax15, ax25, ax35, ax45),
    (ax16, ax26, ax36, ax46)
    ) = plt.subplots(6, 4, sharex=True, figsize=(13, 7))
    ax11.plot(x,y) # plot on top left axes
    ax32.plot(x,y) # plot on subplot in column 3, row 2

关于python - Matplotlib 子图解包不开心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37970096/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com