Matplotlibs子批次:预先未知的子批次的实际数量

Matplotlibs子批次:预先未知的子批次的实际数量,matplotlib,Matplotlib,我试图只在特定条件下在循环中添加子地块,因此子地块的数量事先是未知的(尽管我知道限制是迭代次数)。我尝试了以下方法: fig,ax=plt.subplot(迭代次数限制)后接ax[i].remove()要删除额外的轴,这是可行的,但图中有一个空格用于删除的轴 在子地块数量已知后创建新的子地块,并从ax复制轴对象。看来复制轴也不太管用 我如何删除额外的轴,同时删除它们在图中的指定空间,或者只添加我需要的子图,而不事先知道它们的数量?我认为既不删除,也不删除。相反,先找出你需要多少子图,然后绘制这些

我试图只在特定条件下在循环中添加子地块,因此子地块的数量事先是未知的(尽管我知道限制是迭代次数)。我尝试了以下方法:

  • fig,ax=plt.subplot(迭代次数限制)
    后接
    ax[i].remove()
    要删除额外的轴,这是可行的,但图中有一个空格用于删除的轴
  • 在子地块数量已知后创建新的子地块,并从ax复制轴对象。看来复制轴也不太管用

  • 我如何删除额外的轴,同时删除它们在图中的指定空间,或者只添加我需要的子图,而不事先知道它们的数量?

    我认为既不删除,也不删除。相反,先找出你需要多少子图,然后绘制这些子图。当我知道子图的数量时,在循环完成后,我已经丢失了所有复杂的计算(和其他绘图细节)。保存这些数据帧和详细信息或重新运行这些数据帧和详细信息并不是最佳的,这是一个代码设计或优化的问题。缓存所有将要打印的数据,然后再打印?类似于
    plot_data=[];对于lst中的i:if条件:plot_data.append({'x':x_data,'y':y_data,'label':label_name})?这是可能的,但我不想走这条路线,因为这包括大数据帧和所有其他相关细节。作为最后手段,我会这样做,但问题是我是否可以为动态数量的绘图添加子绘图,或者在添加轴后调整图形几何图形。我会说既不添加,也不添加。相反,先找出你需要多少子图,然后绘制这些子图。当我知道子图的数量时,在循环完成后,我已经丢失了所有复杂的计算(和其他绘图细节)。保存这些数据帧和详细信息或重新运行这些数据帧和详细信息并不是最佳的,这是一个代码设计或优化的问题。缓存所有将要打印的数据,然后再打印?类似于
    plot_data=[];对于lst中的i:if条件:plot_data.append({'x':x_data,'y':y_data,'label':label_name})?这是可能的,但我不想走这条路线,因为这包括大数据帧和所有其他相关细节。作为最后的手段,我会这样做,但问题是我是否可以为动态数量的绘图添加子绘图,或者在添加轴后调整图形几何体