Python pyplot在指示时不绘制线条

时间:2017-02-20 21:09:38

标签: python python-2.7 matplotlib

我目前正在编写一段代码来分析一些数据但是我遇到了一个小问题。由于分析中存在大量事件,我的小组决定我们应该采用每个文件的方法并绘制它们。当我完成这个操作时,我的函数会读取文件并成功绘制每个点,但是当我尝试在数据点之间绘制一条线时,没有任何东西被绘制出来。

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')

它成功绘制了点,但在运行函数时不会绘制线条。

1 个答案:

答案 0 :(得分: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')