Отрисовка графиков в двух циклах

Рейтинг: 0Ответов: 0Опубликовано: 19.01.2023

Подскажите, как исправить следующий код:

def Rayleigh_background_usa_two(data, p, m):
    wv = data['Wavelenhgt, nm']
    usa = data['Absorbance, dry Nafion_no acid']
    usa_good = []
    for i in range(len(wv)):
        new_usa = usa[i] - m*1e8 / (wv[i] - p) ** 4
        usa_good.append(new_usa)
    return usa_good 

def plot_pro_all_two(data):
    wv = data['Wavelenhgt, nm']
    massive_p = np.arange(1, 98, 5)
    massive_m = np.arange(0.1, 2.1, 0.1)
    #massive = list(itertools.product(massive_m, massive_p, repeat=1))
    Ray_list = []
    for k in range(len(massive_m)):
        plt.figure(figsize=(16, 12)) #задаем размер графика
        for l in range(len(massive_m)):
            Ray = Rayleigh_background_usa_two(data, massive_p[k], massive_m[l])
            Ray_list.append(Ray)
            plt.plot(wv[10:400], Ray_list[k][10:400], label=f'Absorbance, dry Nafion_no acid, $\lambda$={np.round(massive_p[k], 2)}, m={np.round(massive_m[k], 2)}')
            
        plt.xlabel('Wavelength, nm')
        plt.ylabel('Absorbance')

        plt.legend()
        plt.show()

Т.е. я ожидал, что для каждого графика при постоянном m меняется lambda (т.е. должно получиться 20 графиков), но вместо этого рисуется те же 20 графиков с не меняющимися параметрами на каждом(( введите сюда описание изображения

Ответы

Ответов пока нет.