0

我尝试不时从传感器接收数据并实时绘制。这意味着事先不知道数据集的长度。并且需要动态调整图形的范围。

我尝试了以下

plot(1,10, xlim=range(0,10), ylim=range(0,10), type='n')

points(1,data[1]) 

points(2,data[2])

但是一旦点的数量超出了 x 轴的范围(在本例中为 10),数据点就超出了范围。如何相应地调整范围?

4

2 回答 2

3

只需发出一个plot扩展范围的新命令。在现代计算机上,重新创建情节所需的时间很短,您通常不会看到延迟。任何其他方法基本上都会做同样的事情,清除当前情节并创建一个新情节。

ggplot2 和 lattice 包具有构建图和更新图的方法,但是当显示更新的图时,它会从头开始重绘。

TeachingDemos 包中有一个zoomplot函数可以让您更改绘图的范围,但它也只会从头开始重新绘制绘图(并且由于 R 3.0.0 中的更改,它当前无法正常工作,所以如果您想要要使用它,您需要回到 R 2.15 或更早版本,或者等待它修复)。

于 2013-07-10T16:44:39.607 回答
0

You can't adjust the range dynamically (sometimes Excel is better). However, you can keep track of what you've plotted, and redo the plot when you've reached the limit. You could also just make a new plot every time you get more data, which would be a way of faking a dynamic update.

于 2013-07-10T16:43:35.300 回答