2015-07-02 2 views
0

Я разрабатываю приложение для гаджета для здоровья, и этот момент мне нужно, чтобы рисовать графики. Данные непрерывно поступают через Bluetooth, и график должен выглядеть так же, как и кардиограф с непрерывным плавным обновлением при получении новых данных. Я нашел две библиотеки для решения этой проблемы (aChartEngine и GraphView). Не могли бы вы предложить, какая разница между ними и когда использовать каждый из них?Графики в Android: aChartEngine vs GraphView

+0

http://stackoverflow.com/questions/26467376/android-charting-libraries –

ответ

1

Вот очень краткое изложение 3 библиотек, которые я тестировал для рисования графиков реального времени.

  1. GraphViewhttp://www.android-graphview.org/

    Pros: Отлично подходит для отображения и обновления нескольких графиков в одном окне (проверено до 12 графиков). Отличная документация. Определенно отлично работает для одного графика в представлении.

    Против: Ограниченные варианты стилизации. Ось Y не масштабируема, а не прокручивается. Очень трудно иметь ось Х, как время (HH: MM: SS: SSS) обновляется в режиме реального времени

  2. MPAndroidCharthttps://github.com/PhilJay/MPAndroidChart

    Плюсы: замечательные варианты укладки. Легко реализуется на прослушивателе. Поддерживается обновление в режиме реального времени. Масштабируемый и прокручиваемый во всех направлениях. Лучше всего использовать для одного графика в представлении. Довольно хорошая документация.

    Против: Гораздо медленнее и потребитель больше памяти, чем GraphView.

  3. aChartEngine

    Плюсы: мощная библиотека с кучей опций и хорошего сообщества.

    Против: обновление в реальном времени на самом деле не поддерживается, что означает, что нужно потратить столько времени, чтобы заставить его работать в режиме реального времени. Кроме того, документация ограничена, хотя несколько примеров можно проследить в Интернете.

+0

Я обнаружил, что GraphView, с 3-й серии, довольно изменчивым ... он обновляется на основе данных с 3 очереди в каждом 80 мс или около того , Также, как можно установить метку оси Y? –

+0

Есть 3 варианта: Автоматические номера Обозначение оси Y - не нужно ничего делать. Статические числа: graph.getViewport(). SetYAxisBoundsManual (true); . Graph.getViewport() setMinY (3.5); graph.getViewport() setMaxY (8). и есть также setNumHorizontalLabels (5) ;. Статические этикетки - см. Http://www.android-graphview.org/documentation/category/labels-and-label-formatter –