Есть ли хорошая библиотека графиков для iPhone? [закрыто]


127

Мне нужно визуализировать и отображать диаграммы (на данный момент гистограммы, но позже могут потребоваться другие типы) в приложении для iPhone, над которым я работаю. Я немного осмотрелся, и не похоже, что есть действительно хорошие, зрелые библиотеки для построения графиков для iPhone. Я также искал что-то написанное для Cocoa на Mac, которое можно было бы адаптировать, но пока не нашел ничего интересного.

Кто-нибудь имел дело с этим раньше? Есть рекомендации?

Я нашел Core Plot , но, похоже, он находится на ранних стадиях разработки.

Отредактируйте, чтобы добавить некоторые детали требований (в их нынешнем виде;))

  • Гистограммы
  • Горизонтальные гистограммы
  • Двухуровневые гистограммы
  • Метки осей (включая повернутые на 90 градусов по оси Y)
  • Ярлыки над каждой полосой на графике
  • Затененный или нестандартный фон

SwiftCharts: github.com/i-schuetz/SwiftCharts с открытым исходным кодом, бесплатный, простой в использовании и настройке. Видео: youtube.com/watch?v=cyAlKil3Pyk
Ixx,

Вы рассматривали SciChart? github.com/ABTSoftware/SciChart.iOS.Examples . Очень быстрый, гибкий и мощный. К сожалению, не с открытым исходным кодом, но команда будет много работать для вашего бизнеса.
Доктор ABT

1
Для тех из нас, кто пришел из Google, обратите внимание на github.com/danielgindi/Charts
Якоб Эггер,

Майк, какое решение ты нашел лучшим?
Дэниел Брауэр,

Ответы:


78

Одним из многих факторов, побудивших проект Core Plot, было отсутствие хороших фреймворков для построения графиков на iPhone. Core Plot также охватывает множество других вариантов использования, включая настольные системы, но его дизайн с самого начала включал поддержку iPhone. Он почти готов к использованию и в настоящее время используется в нескольких приложениях для iPhone и OS X.

Изменить 2/10

Core Plot прошел долгий путь с тех пор, как я впервые опубликовал резюме. В фреймворке теперь есть гистограммы (включая горизонтальные гистограммы, как мне кажется), метки осей (включая произвольные вращения), а также заливки и фоны для графиков. Я не уверен насчет столбчатых диаграмм с накоплением, но их нетрудно добавить в CPBarPlotкласс, реализующий гистограммы. Что касается аннотаций, есть CPAnotationкласс, который вы можете подклассифицировать, чтобы добавить свои аннотации, если нет точных функций, которые вам нужны.

Проект на github .


1
Согласовано. Над этим работают несколько очень хороших программистов с научным складом ума, так что я ожидаю, что он будет быстро развиваться. Кроме того, группа Google для этого находится по адресу groups.google.com/group/coreplot-discuss?hl=en . Архивы стоит прочитать, чтобы понять, к чему это клонит.
Брэд Ларсон

1
Я заглянул в Core Plot, и похоже, что гистограммы полностью не реализованы. Тем не менее я буду следить за этим проектом.
Майк Эйкерс,

3
Тем временем в Core Plot было добавлено множество функций, включая гистограммы, горизонтальные гистограммы, пользовательские метки графиков, наклонные метки и темы (включая пользовательские фоны).
Брэд Ларсон

1
CorePlot работает нормально, но работает очень медленно. Сенсорные взаимодействия мутли очень вялые. Полностью портит впечатление от удобного приложения для iPhone или iPad.
ColinE

Кто-нибудь недавно пользовался CorePlot? Что или насколько оно улучшилось с тех пор?
Пьер-Люк Жендро

7

В качестве коммерческой альтернативы CorePlot я бы рекомендовал попробовать ShinobiControls , у них есть довольно красивые диаграммы. У них также очень хорошая производительность, рендеринг диаграмм с более чем 100 000 точек при 60 кадрах в секунду и поддержка мультитач.

Как полное раскрытие информации , я работаю в Scott Logic, которая является материнской компанией ShinobiControls.


Выглядит неплохо, но есть ли у вас планы по разработке библиотеки для OS X?
странный

4

У меня есть собственная библиотека PowerPlot, которая доступна по модели с двумя лицензиями.

Вы можете просто перейти по ссылке выше, чтобы установить демонстрационное приложение, которое демонстрирует несколько образцов диаграмм. Вы также можете скачать GPL-версию библиотеки и проверить, соответствует ли она вашим потребностям. За исключением горизонтальных столбчатых диаграмм, он имеет требуемые функции - в частности, гистограммы, линейчатые диаграммы с накоплением, различные положения и ориентации меток осей.


3

Я провел свой собственный поиск год или два назад и в итоге создал свои собственные классы линейного графика, потому что не смог найти ничего, что работало бы именно так, как мне нужно. Однако стоит обратить внимание на два основных - SM2DGraphView и GraphX . Я не пробовал ни того, ни другого в проекте iPhone, но знаю, что SM2DGraphView имеет открытый исходный код, поэтому вы можете изменить его при необходимости.

Я также рассматривал возможность использования WebView для использования графической библиотеки JavaScript, но это всего лишь мысль.


HighCharts - одна из отличных библиотек для построения графиков JavaScript, к сожалению.
Basil Bourque

3

появилась новая красивая 3D-библиотека круговых диаграмм. 3D-диаграммы, которые можно вращать и масштабировать пальцами + протокол для получения информации о нажатых срезах

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


1
Спасибо за это, выглядит действительно здорово!
kixorz

3

Мне нужна была радарная диаграмма (или диаграмма паутины), но я не мог ее найти, поэтому я сделал свою собственную реализацию:

RPRadarChart

Вы можете использовать его где угодно, если хотите, дайте мне знать! Я буду постепенно добавлять к нему больше функций, если вы хотите что-то конкретное, спросите меня через github.



1

Это тоже кажется нормальным

s7graphview

(но на самом деле никогда не пробовал).


2
Я использовал этот, и он будет работать, но для очень простых наборов данных. Некоторые из проблем, с которыми я столкнулся, заключались в невозможности построить значения ниже нуля, и он имел тенденцию округлять любые нецелые значения.
Джош Булер
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.