2017-02-20 87 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

这真是太棒了谢谢你!看起来很明显,现在我回头看。 –