嗨,我发现了同样的问题,但没有答案:
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/