【问题标题】:np.loadtxt not overwritting filesnp.loadtxt 不覆盖文件
【发布时间】:2016-11-16 17:12:20
【问题描述】:

我正在导入一个未被 np.loadtxt 覆盖的列表。我有 6 个文本文件被添加到同一个数组中,但我想做的是覆盖这个数组并为每个文件打印一个新图。不幸的是,它正在打印一个新图像,每个文件一个图形在另一个图形上,直到达到长度(看起来像 graph1.jpg、graph1 +2 .jpg、graph1 + 2 + 3.jpg 等等)。谁能帮我这个?我发现问题出在包含“np.loadtxt ....”的行中。但我不知道在覆盖前一个循环的代码时使用什么其他代码来提取文本文件并从中提取一列。下面是我的一部分代码。请注意 all_txt_PL 是文件 txt 名称的列表。

while i!= x2:
    DataIn = np.loadtxt(all_txt_PL[i])
    #DataIn = np.array(DataIn)
    #print(DataIn, '\n')
    y = list()
    v = list()
    for column in DataIn:
        v.append(column[1])
        y.append(column[0])
    plt.plot(y,v, 'b')  
    plt.title('PL Spectrum')
    plt.ylabel('Intensity A.U')
    plt.xlabel('energy [eV]')
    DataIn_PL_name = str(all_txt_PL[i])
    #graphs_PL.append('PL_plot_coordinates_' + DataIn_PL_name.strip('.txt') + '.JPG')
    #plt.savefig('PL of ' + DataIn_PL_name.strip('.txt') + '.JPG')
    #print(i, all_txt_PL[i], '\n')
    i += 1
    #DataIn = np.delete(DataIn, [0,1], axis = None)
    #DataIn = np.delete(DataIn, 0, None)
    y[:] = []
    v[:] = []

【问题讨论】:

    标签: python python-2.7 python-3.x numpy while-loop


    【解决方案1】:

    我认为问题在于您的绘图代码。如果我理解正确,您希望每个情节都是自己的人物。除非您明确告诉 matplotlib,否则它将继续将所有绘图添加到相同的轴上。

    尝试在循环结束时添加对 plt.figure() 的调用。

    或者,如果您希望 matplotlib 子图彼此位于网格中,可以查找它们。

    【讨论】:

    • 它起作用了,我没有意识到我必须声明代码才能显式执行此操作。我以为是暗示的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-05
    • 2019-12-27
    • 2014-06-10
    • 2023-04-09
    • 2011-05-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多