我想使用核心图来动态绘制线图。数据不会一次出现,我们将逐点接收。
是否可以使用核心绘图动态绘制图表,即在我们收到(x,y)点时逐点绘制?
请帮帮我,谢谢。
答案 0 :(得分:18)
是的,你可以很容易地做到这一点。对于每个接收的数据点,将其附加到要显示的值数组。当这些数据点进入时,在Core Plot图(或者只是特定的图)上调用-reloadData
来重绘图形,传入数组,只需添加一个值以响应-numbersForPlot:field:recordIndexRange:
代表方法
如果您需要调整绘图范围以跟踪您的数据点(对于移动的滚动条),请重新计算X轴的新CPPlotRange并将绘图空间的xRange
属性设置为该值。
使用CPTestApp-iPhone,AAPLot或StockPlot示例作为模板,了解如何整体设置折线图,并从该起点进行修改。
我在Mac上的科学应用中做了类似的事情: alt text http://www.sunsetlakesoftware.com/sites/default/files/SensingInAirAgain.jpg
答案 1 :(得分:8)
听起来你可以利用我放在一起的一个演示项目并写下here(虽然不是核心情节)。
它绘制了一个 EKG 图,但应该很容易被修改为使用另一个输入而不是重复的“心跳”...参见EAGLView.m中的第320行,其中indata被输入到阵列。