嗨,我发现了同样的问题,但没有答案:
enter link description here

我的问题是我尝试使用matplotlib绘制数据并将其连接到第一个和最后一个数据点。我正在使用python27和Windows7。我的问题只是显示完整而已,所以我仅显示源代码的某些部分。绘图功能如下:

def plot(x, aw,temperature):
    plt.clf()
    temperatureplot = plt.subplot(211)
    awplot = plt.subplot(212)

    temperatureplot.grid()
    awplot.grid()

    #set subplots
    awplot.set_ylabel('water activity aw')
    awplot.plot(x,aw)
    awplot.margins(y=0.05) #adds a gap between maximum value and edge of diagram
    temperatureplot.set_ylabel('Temperature in degree C')
    temperatureplot.plot(x,temperature)
    temperatureplot.margins(y=0.05)

    awplot.set_xlabel('Time in [hm]')
    plt.gcf().canvas.draw()

我正在使用它,因为我将其绘制在Tkinter Gui中,并且有时要刷新它。情节看起来像:

我的值(value)观是:
t = [161000, 161015...., 191115]
aw = [0.618,......, 0.532]
temperature = [23.7,....,24.4]

我不在t数组中从零开始的问题吗?

如果有人有提示或知道问题,请帮助我。

欢呼最大

最佳答案

好问题!
从圆形缓冲区绘制时间戳数据时遇到了类似的问题。其他答案解释了发生了什么。

该图按严格顺序处理矢量,在第一个坐标到第二个坐标之间画一条线,依此类推。但是循环缓冲区可以在任何时候以最短的时间开始。

因此,绘图通常会以良好的递增时间在绘图窗口的中间某处开始。然后它到达插入点,并及时跳回窗口的起点-绘制一条难看的线-然后恢复到起点。

快速的解决方案是替换此行:

plot(pTime, pPos)

有两条线以正确的顺序绘制了每一半:
plot(pTime[ptr:], pPos[ptr:])
plot(pTime[0:ptr], pPos[0:ptr])

关于python27 matplotlib : first and last element connected,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28016764/

10-12 04:59