2017-02-20 9 views
0

В настоящее время я пишу фрагмент кода для анализа некоторых данных, однако я ударил небольшую загвоздка. Из-за большого количества событий, присутствующих в анализе, моя группа решила, что мы должны использовать средства каждого файла и замышлять их. Когда я это сделал, моя функция просматривает файлы и каждый раз обрабатывает каждую точку, но когда я пытаюсь провести линию между точками данных, ничего не нарисовано.Python pyplot не рисовал линии при указании

def plotEventSpeedVsDate(startYear): 
    for filename in fileNameGenerator(startYear): 
     date,linearSpeed,width,accel=readData(filename) 
     xAxis=np.median(date) 
     yAxis=np.mean(linearSpeed) 
     plt.plot_date(xAxis, yAxis, '-', color='black') 

он успешно отображает точки, но не будет рисовать линии вместо этого, когда я запускаю функцию.

ответ

0

проблема в том, что каждый раз, когда вы вызываете plot_date, вы делаете это только для одной точки данных. Если вы собираете все свои даты и скорости в списках при прохождении через ваши файлы, вы можете затем построить эти списки за один вызов до plot_date и соединить точки с линией.

def plotEventSpeedVsDate(startYear): 
    dates = [] 
    speeds = [] 
    for filename in fileNameGenerator(startYear): 
     date,linearSpeed,width,accel=readData(filename) 
     dates.append(np.median(date)) 
     speeds.append(np.mean(linearSpeed)) 

    plt.plot_date(dates, speeds, 'o-', color='black') 
+0

Это потрясающее спасибо! Кажется настолько очевидным, что я оглядываюсь назад. –