Czy istnieje dobra biblioteka wykresów dla iPhone'a? [Zamknięte]

127

Muszę renderować i wyświetlać wykresy (na razie wykresy słupkowe, ale później może być potrzebnych więcej typów) w aplikacji na iPhone'a, nad którą pracuję. Rozejrzałem się trochę i wygląda na to, że nie ma jeszcze naprawdę dobrych, dojrzałych bibliotek wykresów dla iPhone'a. Szukałem też czegoś napisanego dla Cocoa na Macu, co można by dostosować, ale nie znalazłem jeszcze nic świetnego.

Czy ktoś wcześniej się tym zajmował? Jakieś zalecenia?

Znalazłem Core Plot , ale wydaje się, że jest na wczesnym etapie rozwoju.

Edytuj, aby dodać szczegóły wymagań (w obecnym stanie;))

  • Wykresy słupkowe
  • Wykresy słupkowe poziome
  • Wykresy słupkowe z podwójnym stosem
  • Etykiety osi (w tym obrócone o 90 stopni na osi y)
  • Etykiety nad każdym słupkiem na wykresie
  • Tła cieniowane lub niestandardowe
Mike Akers
źródło
SwiftCharts: github.com/i-schuetz/SwiftCharts open source, bezpłatne, łatwe w użyciu i dostosowywaniu. Wideo: youtube.com/watch?v=cyAlKil3Pyk
Ixx
Czy rozważałeś SciChart? github.com/ABTSoftware/SciChart.iOS.Examples . Bardzo szybki, elastyczny i mocny. Niestety nie jest to oprogramowanie typu open source, ale zespół będzie ciężko pracował dla Twojej firmy.
Dr Andrew Burnett-Thompson
1
Dla tych z nas, którzy pochodzą z Google, zajrzyj na github.com/danielgindi/Charts
Jakob Egger
Mike, które rozwiązanie uważasz za najlepsze?
Daniel Brower

Odpowiedzi:

78

Jednym z wielu czynników motywujących projekt Core Plot był brak dobrych frameworków do plotowania na iPhonie. Core Plot obejmuje również wiele innych przypadków użycia, w tym systemy stacjonarne, ale jego projekt od początku uwzględniał obsługę iPhone'a. Zbliża się do użycia i jest obecnie używany w kilku wysyłanych aplikacjach na iPhone'a i OS X.

Edytuj 2/10

Core Plot przeszedł długą drogę, odkąd po raz pierwszy opublikowałem podsumowanie. Struktura ma teraz wykresy słupkowe (w tym, jak sądzę, poziome wykresy słupkowe), etykiety osi (w tym obroty aribrarty) oraz wypełnienia i tła dla wykresów. Nie jestem pewien co do skumulowanych wykresów słupkowych, ale nie byłoby trudno dodać je do CPBarPlotklasy, która implementuje wykresy słupkowe. Jeśli chodzi o adnotacje, istnieje CPAnotationklasa, do której możesz podklasować, aby dodać adnotacje, jeśli nie ma dokładnie takiej funkcji, jakiej potrzebujesz.

Projekt na github .

Barry Wark
źródło
1
Zgoda. Pracuje nad tym kilku bardzo dobrych naukowo programistów Cocoa, więc spodziewam się szybkiego postępu. Ponadto grupa dyskusyjna Google do tego celu znajduje się pod adresem groups.google.com/group/coreplot-discuss?hl=en . Warto przeczytać archiwa, aby zobaczyć, dokąd zmierzają ludzie.
Brad Larson
1
Zajrzałem do Core Plot i wygląda na to, że wykresy słupkowe są całkowicie niezaimplementowane. Nadal będę mieć oko na ten projekt.
Mike Akers
3
W międzyczasie do wykresu podstawowego dodano wiele funkcji, w tym wykresy słupkowe, poziome wykresy słupkowe, niestandardowe etykiety działek, etykiety ustawione pod kątem i motywy (w tym niestandardowe tła).
Brad Larson
1
CorePlot jest w porządku pod względem funkcji, ale jest boleśnie powolny. Interakcje dotykowe Mutli są bardzo powolne. Całkowicie psuje wrażenia w skądinąd zgrabnej aplikacji na iPhone'a lub iPada.
ColinE
Czy ktoś ostatnio korzystał z CorePlot? Co lub jak bardzo się poprawiło od tego czasu?
Pier-Luc Gendreau
7

Jako komercyjną alternatywę dla CorePlot, poleciłbym wypróbować ShinobiControls , mają całkiem niezłe wykresy. Mają też bardzo dobrą wydajność, renderują wykresy z ponad 100 000 punktów przy 60 klatkach na sekundę i obsługują multi-touch.

Dla pełnego ujawnienia pracuję dla Scott Logic, która jest firmą macierzystą ShinobiControls.

ColinE
źródło
Wygląda nieźle, ale czy macie jakieś plany dotyczące stworzenia biblioteki dla OS X?
dziwne
4

Mam własną bibliotekę o nazwie PowerPlot która jest dostępna w ramach modelu podwójnej licencji.

Możesz po prostu kliknąć powyższy link, aby zainstalować aplikację demonstracyjną, która pokazuje kilka przykładowych wykresów. Możesz również pobrać bibliotekę w wersji GPL i sprawdzić, czy odpowiada Twoim potrzebom. Z wyjątkiem poziomych wykresów słupkowych ma wymagane funkcje - w szczególności wykresy słupkowe, skumulowane wykresy słupkowe, różne pozycje i orientacje etykiet osi.

user8472
źródło
3

Rok lub dwa lata temu przeszedłem własne wyszukiwanie i skończyło się na utworzeniu własnych zajęć z wykresów liniowych, ponieważ nie mogłem znaleźć niczego, co działałoby dokładnie tak, jak tego potrzebowałem. Dwa duże, na które należy zwrócić uwagę, to SM2DGraphView i GraphX . Nie próbowałem też w projekcie iPhone'a, ale wiem, że SM2DGraphView jest open source, więc możesz go zmodyfikować w razie potrzeby.

Rozważałem również użycie WebView do korzystania z biblioteki graficznej JavaScript, ale to tylko myśl.

Marc Charbonneau
źródło
HighCharts to doskonała biblioteka graficzna JavaScript, fyi.
Basil Bourque
3

jest nowa, ładna biblioteka Pie Chart 3D. Wykresy 3D, które można obracać i skalować palcami + protokół uzyskiwania informacji o stukniętym wycinku

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

plusz
źródło
1
Dzięki za ten, wygląda naprawdę świetnie!
kixorz
3

Potrzebowałem wykresu radarowego (lub wykresu internetowego Pająka) i nie mogłem znaleźć żadnego, więc wykonałem własną implementację:

RPRadarChart

Możesz go używać w czymkolwiek chcesz, jeśli to zrobisz, daj mi znać! Powoli będę dodawać do niego więcej funkcji, jeśli chcesz czegoś konkretnego, zapytaj mnie przez github.

JP Illanes
źródło
1

Teoretycznie możesz użyć interfejsu API Google Chart wraz z opakowaniem Cocoa . To mogłoby być lekkie rozwiązanie.

Julien Chastang
źródło
5
Rozważałem to, ale Google Charts nie będzie działać bez połączenia z Internetem.
Mike Akers
1
Link do opakowania Cocoa nie żyje
brainray
1

Ten też wydaje się w porządku

s7graphview

(ale nigdy tego nie próbowałem).

yonel
źródło
2
Użyłem tego i będzie działać, ale dla bardzo podstawowych zestawów danych. Niektóre z problemów, na które się natknąłem, to niemożność wykreślenia wartości poniżej zera i miał tendencję do zaokrąglania wartości niecałkowitych.
Josh Buhler