Сравните несколько файлов данных на одной фигуре - PullRequest
0 голосов
/ 20 февраля 2020

У меня есть каталог с несколькими файлами данных. Я хотел бы взять данные из каждого файла и сравнить их данные на том же графике. Каждый из них имеет несколько столбцов параметров, поэтому все они будут сравниваться. Другое дело, что этот каталог всегда будет иметь изменяемое количество файлов при использовании, обычно 2-6. Физическое расположение данных также отличается в каждом файле, что указывается в имени файла первой буквой, поэтому это потребуется на метке графика.

Моя проблема в том, что я не могу понять, объединить все данные на одном графике для сравнения и выяснить, как разделить их по меткам.

Код кадра данных (Попытка составить список для возможной конкатенации, которая не работает, поэтому игнорируйте)

import pandas as pd


aa = []
for file in filesss:
    dat = file
    col_names = ['Alt', 'Temp', 'TDev', 'Press', 'PDev', 'Dens', 'DDev', 'RH', 'Dir', 'Spd', 'U', 'V']
    df = pd.read_table(dat, skiprows=5, sep="\s+", names=col_names, engine='python')
    df = df.drop(df.columns[[3,5,8]], axis=1)
    col_names = df.columns.tolist()
    aa.append(df)
print(aa)

Код печати. ​​

from matplotlib import pyplot as plt


for index, param in enumerate(col_names[1:9]):
    plt.figure(figsize=(5,7))
    ax = plt.gca()
    # if save_file == 'R*':
    #   plt.plot(df[param], df['Alt'], 'b', label= '--Location--'+time+'')
    # else:
    #   plt.plot(df[param], df['Alt'], 'orange', label= '--Location--'+time+'')
    plt.plot(frame[param], frame['Alt'], 'orange', label= '--Location--')
    if param.find('Dev') != -1:
        plt.axvline(x=0, color='black', linestyle='--', linewidth=2)
    plt.xlabel(comp_long_names[index])
    plt.ylabel('Altitude (km)')
    plt.legend(loc='best', fontsize=12)
    plt.title('Comparison \n'+date+'', fontsize=13)
    ax.set_ylim([0, max_y])
    plt.minorticks_on()
    plt.grid(b=True, which='major', linestyle='-')
    plt.grid(b=True, which='minor', axis='x', linestyle=':')
plt.show()

Буду признателен за любую помощь.

...