2009-04-27 28 views
24

Hat jemand Erfahrung mit dem Zeichnen von Graphen auf dem iPhone? Es sieht so aus, als ob GraphKit keine Option ist, also ist es Sache des Programmierers, entweder seine eigene Bibliothek zu schreiben (mit OpenGL, denke ich) oder eine existierende Bibliothek. Ich kann anscheinend keine Bibliotheken finden, die auf dem iPhone funktionieren.Grafikgenerierung auf dem iPhone

Wenn Sie Ihre eigenen geschrieben haben, wie sind Sie darüber gegangen (opengl, Quarz, etc), oder wenn Sie eine Bibliothek welche verwendet?

+2

Werfen Sie einen Blick auf diese Frage: http://stackoverflow.com/questions/263472/cocoa-graphing-plotting-framework-that-works-on-iphoneos –

+1

Da Sie nicht sicher sind, ob Sie OpenGL oder Quartz2D verwenden, Sie möchte Quartz2D verwenden. In den Beispielprojekten QuartzDemo und BubbleLevel auf der Developer Connection-Site von Apple erfahren Sie, wie Sie in Quartz2D Grundelemente (Linien, Rectures, Splines) zeichnen. –

+0

mögliche Duplikate von [Gibt es eine gute Diagrammbibliothek für iPhone?] (Http://stackoverflow.com/questions/769749/is-there-a-good-charting-library-for-iphone) –

Antwort

13

Ich habe auf diesem mein Auge wurde zu halten:

core-plot

aber ich habe noch nicht versucht es. Obwohl es scheint, dass es Potenzial hat.

chris.

+0

CorePlot ist ein anständiges frei Charting-Bibliothek, ist aber sehr, sehr langsam. Das sieht schlecht aus, wenn Sie versuchen, Pinch Zoom usw. hinzuzufügen. Wenn Sie gerne für eine Charting-Bibliothek bezahlen, würde ich Shinobi Controls empfehlen (http://www.shinobicontrols.com) – ColinE

+0

ja ...Ich habe dieses Framework seit mehr als 2 Jahren.Ich starte ein neues Projekt mit nur das Diagramm mit diesem Rahmen, die Leistung ist wirklich langsam, vor allem ich versuche zu vergrößern und verkleinern, wenn ich mehr als 1000 Daten haben – nullmicgo

1

Ich habe Graphen in einer Anwendung gemacht, bevor ich Quartz2D benutze. Da das Diagramm besonders breit war, musste ich einen CATiledLayer für die Ansicht verwenden, was meiner Meinung nach mehr Probleme verursachte als behoben. Die Grafik sah gut aus, aber am Ende war es einfach zu schwierig, damit umzugehen. Zu viele Fehler beim Versuch, zu viel von dem Diagramm auf einmal zu zeichnen, oder zu versuchen, den Graph mehrere Male in einer Reihe schnell zu zeichnen, während der Benutzer zwischen verschiedenen Ansichten wechselt.

An dieser Stelle wäre mein Vorschlag, etwas in OpenGL zu versuchen, obwohl ich nicht weiß, wie Sie es erreichen würden, da Linienzeichnen auf dem iPhone in OpenGL ziemlich einfach ist.

1

Ich habe versucht, eine Grafik mit Quartz 2D zu plotten. Es sieht eher wie eine Zeichnung aus. Aber ich repariere die Achsen und zeichne die Koordinaten entsprechend den Achsen auf. Aber das Problem ist, ich möchte den Graphenbenutzer interaktiv machen. Jede Koordinate in der Grafik muss weitergezeigt werden, um die Details der Koordinate anzuzeigen. Wie kann ich die Koordinaten interaktiv gestalten?

+0

+ 1 für Quarz 2d für einfache Graphen – Ayrad

4

Ive verwendet coreplot ... hat eine appstore app mit ihm ... nicht begeistert von seiner Verwendung. Sein sehr kundengerechtes, möglicherweise zu kundengerechtes. Es hat mir ziemlich viel Mühe bereitet, es einzurichten und ich habe immer noch Probleme damit. Ich würde gerne wissen, wie Roambi.com ihre Portierung von Excel macht, es sieht ziemlich gut aus. MSOffice4mac sollte nur mit einem direkten Port zu iphone

3

kommen Ausprobieren und verwendet CorePlot, auf meinem Weg zu einer App-Store-App. Es war ein Schmerz, es aufzubauen und dann tief zu graben, sicherlich die beste Grafikoption.

1

Sie können die PowerPlot library auschecken, die eine native iOS-Bibliothek ist. Es ist die einzige Wahl (meines Wissens), dass nicht nur die "übliche" Auswahl an Diagrammen, sondern auch Graphen (mit Knoten und Verbindungen) zwischen den Ansichten vorhanden ist. Es basiert nicht auf OpenGL, sondern auf Quartz. Es zielt auch nicht auf die Desktop-Version von MacOS ab, speziell auf iOS.

Lizenzierungsrichtlinie ist doppelte Lizenz - Entwickler können GPLv3 oder eine kommerzielle Lizenz wählen.