1

我已经在 numpy/python 中导入并处理了多个数据集——从数据集中我可以用这些数据创建几个数组——为了论证起见,假设 3 个数组;A B C 现在我想绘制数据:

目前我选择了每个数组,并绘制数据 - 这很好,但是当我有 18 个数组时,它至少变得无效

所以我尝试创建一个列表并遍历每个数组:

allarrays = [A, B, C] #where A, B and C are arrays
for array in allarrays:
    pylab.figure()
    .......
    .......
    .......
    pylab.show()

A 情节很好,但 B 空了,然后它停止了

我想象做一个数组列表可能不是正确的方法,但似乎无法弄清楚任何欢迎的想法

迪米特里斯

请求的实际代码 - 数组(A12、A23 等已在上一步中创建)

enter code here

allarrays = [A12, A23]#, A34, A45, B12, B23, B34, B45, C12, C23, C34, C45,]
size = len(A12)
for array in allarrays:
    to_plot=np.zeros(shape=(size, 5))
    plt.figure() # so each figure is a fresh start
    for i in range(0, size, n):
        to_plot=np.array(array, dtype='float')
        plt.subplot(2, 2, 1)
        plt.xlim(0.1, 1000)
        plt.xlabel('frequency')
        plt.ylabel('phase(mrad)')
        plt.semilogx(to_plot[i:i + n, 0], to_plot[i:i + n, 2], 'o-', color=next(colors))
        plt.grid(True)
        plt.hold(True)
        plt.subplot(2, 2, 2)
        plt.xlim(0.1, 1000)
        plt.xlabel('frequency')
        plt.ylabel('imag(S/m)')
        plt.loglog(to_plot[i:i + n, 0], to_plot[i:i + n, 3], 'o-', color=next(colors1))
        plt.grid(True)
        plt.hold(True)
     plt.tight_layout()
     plt.show()
4

1 回答 1

1

我的错误,正如#debianplebian 建议的那样,问题出在后续代码上——我实际上需要在高级循环中定义颜色——我没有这样做,当第二次迭代达到颜色时它卡住了

于 2013-07-15T21:36:11.977 回答