2015-10-22 3 views
0

Есть ли эффективный способ сделать это? My screenshot from Android deviceachartengine - график перемещения и неподвижных графов

На данный момент я читаю данные акселерометра (все графики перемещаются в левый край экрана) и сравнивают их с моим черным порогом.

Когда поступают новые данные о акселерометре, я рисую все три значения (красный, синий, черный). Это означает добавление трех новых точек к соответствующей серии в конце и удаление первой точки из серии (чтобы включить «движение»).

Есть ли возможность избежать добавления новых точек на черный график (пороговое значение), чтобы сделать его графикой эффективным образом? Или, может быть, это довольно эффективный вариант, да?

ответ

0

Существует много вариантов графического отображения. Если вы хотите статический график, вы можете использовать эти образцы API/кода.

AChartEngine

Simple Line Chart

Draw a Graph

Charts4j

AndroidPlot - один из наиболее перспективных из них, делает динамические графики тоже и теперь открытым исходным кодом.

TeeChart

Так много других, чтобы выбрать из, но большинство из них статичны и не из них может обрабатывать участки данных в режиме реального времени, то есть ЭКГ формы волны. Одним из примеров, на который вы можете обратить внимание, является пример Tricorder android. Проблема в том, что это действительно сложно настроить, и если вы просто хотите графики, так много кода для копирования. Это можно сделать, но я даже заметил, что есть отставание, чем дольше вы запускаете программу.

До сих пор единственный способ, которым я нашел реальное хорошее динамическое графическое отображение, - это сделать это самостоятельно и использовать SurfaceView, а затем нарисовать в качестве пути path.lineTo() для предыдущего SO-ответа для этого решения.

SO example:

Смежные вопросы