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
Odpowiedzi:
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
CPBarPlot
klasy, która implementuje wykresy słupkowe. Jeśli chodzi o adnotacje, istniejeCPAnotation
klasa, do której możesz podklasować, aby dodać adnotacje, jeśli nie ma dokładnie takiej funkcji, jakiej potrzebujesz.Projekt na github .
źródło
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.
źródło
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.
źródło
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.
źródło
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
źródło
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.
źródło
Teoretycznie możesz użyć interfejsu API Google Chart wraz z opakowaniem Cocoa . To mogłoby być lekkie rozwiązanie.
źródło
Ten też wydaje się w porządku
s7graphview
(ale nigdy tego nie próbowałem).
źródło