2009-04-20 11 views
125

Ho bisogno di renderizzare e visualizzare grafici (gli istogrammi per ora, ma più tipi potrebbero essere necessari in seguito) in un'app per iPhone su cui sto lavorando. Ho fatto un po 'di ricerche e non sembra che esistano ancora librerie di grafici davvero buone e mature per iPhone. Ho anche cercato qualcosa di scritto per Cocoa sul Mac che possa essere adattato, ma non ho ancora trovato nulla di eccezionale.C'è una buona libreria di grafici per iPhone?

Qualcuno ha affrontato questo prima? Qualche consiglio?

Ho trovato Core Plot, ma sembra essere nelle prime fasi di sviluppo.

Modifica per aggiungere alcuni dettagli di requisiti (nella loro forma attuale;))

  • Bar Charts
  • grafici a barre orizzontali
  • doppio impilati grafici a barre
  • Le etichette degli assi (compresi ruotate di 90 gradi sull'asse y)
  • Etichette sopra ogni barra del grafico
  • Sfondi ombreggiati o personalizzati
+0

SwiftCharts: https://github.com/i-schuetz/SwiftCharts open source, gratuito, facile da usare e personalizzare. Video: https://www.youtube.com/watch?v=cyAlKil3Pyk – Ixx

+0

Hai considerato SciChart? https://github.com/ABTSoftware/SciChart.iOS.Examples. Molto veloce, flessibile e potente. Purtroppo non open source, ma il team lavorerà sodo per la tua azienda. –

+1

Per quelli di noi che vengono da Google, dai un'occhiata a https://github.com/danielgindi/Charts –

risposta

78

Uno dei molti fattori che hanno motivato il progetto Core Plot è stata la mancanza di di buone strutture di stampa sull'iPhone. Core Plot comprende anche molti altri casi d'uso, inclusi i sistemi desktop, ma il suo design ha incluso il supporto per iPhone sin dall'inizio. Sta diventando abbastanza vicino a essere utilizzabile ed è attualmente in uso in diverse applicazioni iPhone e OS X di spedizione.

Modifica 2/10

Nucleo trama ha percorso una lunga strada da quando ho postato la sintesi. Il framework ora ha grafici a barre (compresi i grafici a barre orizzontali, credo), etichette degli assi (comprese le rotazioni aribrarty) e riempimenti e sfondi per i grafici. Non sono sicuro dei grafici a barre in pila, ma non sarebbe difficile aggiungere alla classe CPBarPlot che implementa i grafici a barre. Per quanto riguarda le annotazioni, esiste una classe CPAnotation che potresti creare in sottoclasse per aggiungere le tue annotazioni, se non esiste l'esatta funzionalità di cui hai bisogno.

Progetto on github.

+1

concordato. Ci sono alcuni ottimi programmatori di Cocoa che hanno una mente scientifica che lavorano su questo, quindi mi aspetterei che avanzasse rapidamente. Inoltre, il gruppo Google per questo è disponibile all'indirizzo http://groups.google.com/group/coreplot-discuss?hl=it. Gli archivi valgono la pena di leggere, per vedere dove la gente sta andando con questo. –

+1

Ho esaminato Core Plot e sembra che i grafici a barre siano completamente non implementati. Continuerò a tenere d'occhio questo progetto. –

+3

Nel frattempo, molte funzioni sono state aggiunte a Core Plot, inclusi grafici a barre, grafici a barre orizzontali, etichette personalizzate, etichette angolate e temi (compresi sfondi personalizzati). –

3

Ho passato la mia ricerca un anno o due fa e ho finito per creare le mie lezioni di grafico a linee perché non riuscivo a trovare nulla che funzionasse esattamente nel modo in cui ne avevo bisogno. I due grandi da guardare però sono SM2DGraphView e GraphX. Non ho provato neanche in un progetto per iPhone, ma so che SM2DGraphView è open source in modo da poterlo modificare se necessario.

Ho anche preso in considerazione l'utilizzo di una WebView per utilizzare una libreria di grafica JavaScript, ma questo è solo un pensiero.

+0

[HighCharts] (http://www.highcharts.com) è un'eccellente libreria di grafica JavaScript, fyi. –

1

È possibile utilizzare teoricamente lo Google Chart API insieme a Cocoa wrapper. Questa potrebbe essere una soluzione leggera.

+5

L'ho preso in considerazione, ma Google Charts non funzionerà senza una connessione Internet. –

+1

Il collegamento al wrapper Cocoa è morto – brainray

1

Questo sembra ok così

s7graphview

(ma mai provato davvero).

+2

L'ho usato e funzionerà, ma per set di dati molto semplici. Alcuni dei problemi in cui mi sono imbattuto erano l'incapacità di tracciare valori sotto lo zero, e aveva la tendenza a arrotondare qualsiasi valore non intero. –

3

c'è una nuova, bella libreria 3D a torta. grafici 3D che è possibile ruotare e ridimensionare con le dita + protocollo per ottenere informazioni sulla fetta sfruttato

http://iphone.orpi.pl/?p=20

+1

Grazie per questo, sembra davvero fantastico! – kixorz

4

ho la mia libreria chiamata PowerPlot che è disponibile in un modello dual-licenza.

È sufficiente seguire il collegamento sopra riportato per installare l'app demo che mostra diversi grafici di esempio. Puoi anche scaricare la versione GPL della libreria e verificare se soddisfa le tue esigenze. Ad eccezione dei grafici a barre orizzontali, ha le caratteristiche richieste, in particolare i grafici a barre, i grafici a barre in pila, le varie posizioni e gli orientamenti delle etichette degli assi.

+1

Questa è una libreria fenomenale –

7

Come alternativa commerciale a CorePlot, consiglierei di dare ShinobiControls a partire, hanno alcuni grafici piuttosto belli. Hanno anche ottime prestazioni, con grafici con oltre 100.000 punti a 60fps e supporto multi-touch.

Come completo , lavoro per Scott Logic, che è la società madre di ShinobiControls.

+0

Sembra carina, tuttavia voi ragazzi avete qualche piano per lo sviluppo di una libreria per OS X? – strange

3

avevo bisogno di un grafico radar (o grafico web Ragno) e non sono riuscito a trovare alcuna, così ho fatto la mia propria implementazione:

RPRadarChart

Sei libero di utilizzarlo in quello che vuoi , se lo fai, fammi sapere! Aggiungerò lentamente altre funzionalità ad esso, se vuoi qualcosa di specifico chiedimi tramite Github.

Problemi correlati