【问题标题】:Python pyplot not drawing lines when instructedPython pyplot 在指示时不画线
【发布时间】:2017-02-21 16:58:43
【问题描述】:

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

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

它成功地绘制了点,但在我运行该函数时不会画线。

【问题讨论】:

    标签: python python-2.7 matplotlib


    【解决方案1】:

    问题是每次调用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')
    

    【讨论】:

    • 太棒了,谢谢!现在回想起来似乎很明显。
    猜你喜欢
    • 2017-02-09
    • 1970-01-01
    • 2017-05-06
    • 1970-01-01
    • 1970-01-01
    • 2015-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多