2010-03-08 13 views
20

Voglio utilizzare il core-plot per disegnare il grafico lineare in modo dinamico. i dati non arriveranno in un momento, riceveremo punto per punto in modo dinamico.tracciare in tempo reale su iPhone utilizzando la trama principale?

E 'possibile disegnare il grafico in modo dinamico utilizzando la trama del core i.e disegnando punto per punto come su quando riceviamo il punto (x, y)?

Per favore aiutatemi, grazie.

+0

Hey Brad. Grazie per i tuoi commenti Potresti suggerire un tutorial più recente? Grazie in anticipo. –

+1

Ecco un tutorial (in francese) ma il codice è in inglese: http://www.geckogeek.fr/installer-et-utiliser-coreplot-sur-iphone-ipad.html – Vinzius

+1

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

risposta

18

Sì, lo si può fare abbastanza facilmente. Per ciascun punto dati ricevuto, aggiungilo a una serie di valori da visualizzare. Quando arrivano questi punti dati, chiama il -reloadData sul grafico Core Plot (o solo il particolare grafico) per ridisegnare il grafico, passando nell'array hai aggiunto un valore in risposta al metodo delegato -numbersForPlot:field:recordIndexRange:.

Se è necessario regolare l'intervallo di plottaggio per tenere traccia dei punti dati (per un ticker mobile), ricalcolare il nuovo CPPlotRange per l'asse X e impostare la proprietà xRange dello spazio di stampa su tale.

Utilizzare le CPTestApp-iPhone, AAPLot o StockPlot esempi come modelli per come impostare il grafico linea generale, e modificare da quel punto di partenza.

faccio qualcosa di simile a questo su Mac in un'applicazione scientifica: alt text http://www.sunsetlakesoftware.com/sites/default/files/SensingInAirAgain.jpg

+0

Grazie Brad. Vorrei chiedere ancora un aiuto su questo. Come implementare ZoomIn e ZoomOut per Core-plot? Sarebbe bello se fornissi qualche esempio. Per favore aiutatemi. – Appbrain

+0

@ ram007: al momento non esiste un supporto nativo per lo zoom pizzico. È possibile posizionare il grafico all'interno di un UIScrollView e quindi ridimensionare le estensioni del grafico in risposta alle modifiche apportate alla scala di zoom della vista a scorrimento, ma anche lo zoom degli assi durante un evento di pizzicamento. Sfortunatamente, il modo migliore sarebbe quello di aggiungere questa capacità al framework modificando CPResponder per gestire i gesti multitouch, e questo richiederebbe un po 'di lavoro. –

+0

@BradLarson Come si fa a fare un grafico dal vivo se non si conosce che min e max con cui stare? Come il grafico crea la scala? –

8

Sembra che si possa fare uso di un progetto dimostrativo che ho creato e scritto su here (non correlato alla trama principale).

disegna un EKG grafico ma dovrebbe essere facilmente modificato per usare un altro ingresso del ripetuto "battito cardiaco" ... Vai linea 320 in cui il EAGLView.m Indata viene inserito nella matrice.

+0

Bellissimo. Grazie –

Problemi correlati