суботу, 9 травня 2020 р.

Android бібліотеки для побудови графіків (діаграм)

Задались питанням «Як побудувати графік (діаграму) у Android програмі?». Для цього існує вже ряд розроблених бібліотек для Android Java розробників. З тих, що я знайшов, більш менш пристойними є: SciChart, AndroidCharts, AChartEngine, AndroidPlot, GraphView, MPAndroidChart. Останні дві є найбільш популярними. Існують також дуже простенькі невеличкі бібліотеки, які зосереджуються на малюванні одного якогось графіку, найчастіше лінійного.

SciChart – платна багатоплатформна бібліотека для WPF, iOS, Android, Xamarin. Розробники стверджують, що вони зосереджуються на швидкості і високопродуктивності їхньої бібліотеки. Дозволяє будувати доволі складні динамічні графіки. Наявний непоганий посібник (Tutorial) для Android розробників. Проте дана бібліотека є платна і коштує від 850 до 3000 доларів США на одного розробника в рік.
SciChart library, example, Android Graph, Plot
Приклад програми з використанням SciChart

AndroidCharts - проста, безкоштовна, невелика бібліотека, яка реалізовує лінійний графік, стовпчикову діаграму та кругову/секторну діаграму. Мінус – слабка документація.

AChartEngine – бібліотека для створення різних графіків. В інтернеті наявні ряд прикладів її використання. Проте останнє оновлення (станом на 2020 рік) було близько 4-х років назад. Офіційний сайт не працює, доступний репозиторій з описом на github. Поширюється за ліцензією Apache Version 2.

AndroidPlot - бібліотека для побудови як звичайних графіків (XYPlot) так і стовпчикових, секторних, бульбашкових, свічкових діаграм. Дозволяє будувати динамічні (real-time) діаграми. Поширюється за ліцензією Apache 2.0. Наявна непогана документація. Є декілька відео на ютуб.

GraphView- бібліотека з відкритим програмним кодом розроблена Jonas Gehring. Доступна документація у вигляді wiki сторінок на github, javadoc API документація, наявний tutorial на youtube, доволі багато статей в інтернеті. Дозволяє будувати лінійний графік, стовпчикову діаграму та точковий графік, накладати різні види графіків один на одний, підтримує збільшення/зменшення (zoom), прокрутку, графіки з оновленням в реальному часі (динамічні), дозволяє задавати обробку натиснення на графік тощо.

GraphView example in Android, Chart, Plot, Graph
Приклад застосування GraphView

MPAndroidChart – бібліотека, що реалізує лінійні графіки, стовпчикову діаграму, бульбашкову діаграму(BubbleChart ), свічкову діаграму (CandleStickChart) , пелюсткову/радіальну діаграму. Наявна непогана документація, включаючи Javadoc, та відеоуроки на ютубі. Також дозволяє створювати динамічні, анімовані графіки. Поширюється за ліцензією Apache 2.0.  В 2016 році компанія SciChart проводила дослідження продуктивності різних бібліотек в плані роботи динамічних діаграм (real-time), їхня реалізація була найшвидша, проте з безкоштовних бібліотек найкращою була MPAndroidChart. Звичайно пройшло відтоді вже декілька років і все могло змінитись.

Вступне відео для MPAndroidChart:


В цілому можна зробити висновок, що в залежності від складності вашого проекту можна підібрати відповідну Android бібліотеку для побудови графіків. Найбільш потужною бібліотекою є SciChart проте вона платна, але доступна для різних платформ з масою можливостей і візуальних фіч. Найбільш популярними і безкоштовними є GraphView та MPAndroidChart. MPAndroidChart та AndroidPlot на даний час реалізують найбільшу кількість різноманітних діаграм.

Залишайте ваші коментарі під публікацією, підписуйтесь на фейсбук сторінку блогу, щоб слідкувати за оновленнями.


Дивіться також інші публікації на тему Android Programming:

Немає коментарів:

Дописати коментар