擅长:python、mysql、java
<p>好问题!
从循环缓冲区打印时间戳数据时遇到类似问题。其他的答案解释了发生了什么。</p>
<p>绘图是按严格的顺序处理矢量,从第一个坐标到第二个坐标画一条线,以此类推。但是循环缓冲区可以从任何点的最低时间开始。</p>
<p>因此,绘图通常会在绘图窗口中间的某个位置开始,并有很好的递增时间。然后它到达插入点,并及时跳回到窗口的开头——画一条难看的线——然后继续跳到起点。</p>
<p>快速解决方案是替换这一行:</p>
<pre><code>plot(pTime, pPos)
</code></pre>
<p>以正确的顺序绘制每一半的两条线:</p>
<pre><code>plot(pTime[ptr:], pPos[ptr:])
plot(pTime[0:ptr], pPos[0:ptr])
</code></pre>