Search code examples
iphoneioscore-plot

real time plotting on iPhone using core plot?


I want to use core-plot for drawing line graph dynamically. data won't come at a time, we will be receiving point by point dynamically.

Is it possible to draw the chart dynamically using core-plot i.e drawing point by point as on when we receive the (x,y) point?

Please help me, Thanks.


Solution

  • Yes, you can do this reasonably easily. For each received data point, append it to an array of values to display. As these data points come in, call -reloadData on the Core Plot graph (or just the particular plot) to redraw the graph, passing in the array you just added a value to in response to the -numbersForPlot:field:recordIndexRange: delegate method.

    If you need to adjust the plot range to track your data points (for a moving ticker), recalculate the new CPPlotRange for the X axis and set the plot space's xRange property to that.

    Use the CPTestApp-iPhone, AAPLot, or StockPlot examples as templates for how to set up the line chart overall, and modify from that starting point.

    I do something similar to this on the Mac in a scientific application: alt text
    (source: sunsetlakesoftware.com)