2010-03-08 18 views
20

Quiero usar el núcleo-gráfico para dibujar un gráfico de líneas de forma dinámica. los datos no llegarán a la vez, vamos a recibir punto por punto de forma dinámica.trazado en tiempo real en un iPhone con una trama central

¿Es posible dibujar el gráfico dinámicamente usando el núcleo-gráfico, es decir, dibujar punto por punto como cuando recibimos el punto (x, y)?

Por favor, ayúdenme, gracias.

+0

Hey Brad. Gracias por tus comentarios. ¿Podría sugerir un tutorial más reciente? Gracias de antemano. –

+1

Aquí hay un tutorial (en francés) pero el código está en inglés: http://www.geckogeek.fr/installer-et-utiliser-coreplot-sur-iphone-ipad.html – Vinzius

+1

Merci beaucoup, c'est encore plus simple comme ça :) –

Respuesta

18

Sí, puede hacerlo con bastante facilidad. Para cada punto de datos recibido, agréguelo a una matriz de valores para visualizar. A medida que ingresen estos puntos de datos, llame al -reloadData en el gráfico del Ploteo principal (o solo el gráfico particular) para volver a dibujar el gráfico, pasando el arreglo en el que acaba de agregar un valor en respuesta al método delegado -numbersForPlot:field:recordIndexRange:.

Si necesita ajustar el rango de trazado para rastrear sus puntos de datos (para un ticker móvil), vuelva a calcular el nuevo CPPlotRange para el eje X y establezca la propiedad xRange del espacio de trazado a eso.

Utilice las CPTestApp-iPhone, AAPLot, o StockPlot ejemplos como plantillas para cómo configurar el gráfico de líneas en general, y modificar de ese punto de partida.

hago algo similar a esto en el Mac en una aplicación científica: alt text http://www.sunsetlakesoftware.com/sites/default/files/SensingInAirAgain.jpg

+0

Gracias Brad. Me gustaría pedirte una ayuda más sobre esto. ¿Cómo implementar ZoomIn y ZoomOut para Core-plot? Sería genial si das algún ejemplo. Por favor, ayúdenme. – Appbrain

+0

@ ram007: No hay soporte nativo para pellizcar zoom en este momento. Podría colocar el gráfico dentro de UIScrollView, y luego volver a escalar las extensiones del gráfico en respuesta a los cambios en la escala de zoom de la vista de desplazamiento, pero eso también haría zoom en los ejes durante un evento de pellizco. Desafortunadamente, la mejor manera sería agregar esta capacidad al framework modificando CPResponder para que maneje gestos multitáctiles, y eso tomaría algo de trabajo. –

+0

@BradLarson ¿Cómo se hace un gráfico en vivo si no se sabe con qué mínimo y máximo estar? ¿Cómo crea el gráfico la escala? –

8

Suena como que podría hacer uso de un proyecto de demostración que reuní y escribí sobre here (sin embargo, no se relacionó con el núcleo).

Se dibuja un gráficoEKG, pero debería ser fácilmente modificado para utilizar otra entrada que la repetida "latido del corazón" ... Vea la línea 320 en EAGLView.m donde se introduce el INDATA en la matriz.

+0

Hermosa. Gracias –

Cuestiones relacionadas