我是Android新手,需要在我的应用中绘制实时数据。
在阅读了一些相关主题后,我发现对我来说解决方案可能是“achartengine”或“Androidplot”。
我理解两个库都有我正在寻找的绘图功能,只是有点混淆哪一个可能更适合我的要求。因此,如果有人在开发具有类似用途的应用程序方面经验丰富,请提供您的建议,这对我有很大的帮助!
以下是我计划在Android应用中执行的操作:
我的目标SDK是Android 4.2。
我将通过蓝牙接收3组实时数据,我需要3个动态X-Y散点图来显示这些数据。
采样频率为1024.
我将使用导航类型为“scrollable tabs + swipe”的活动来显示这3个动态图表,一个图表显示一个图表。
允许双指缩放在动态图表上工作。
提前致谢!
答案 0 :(得分:3)
我建议将Androidplot用于动态数据。完全披露:我是Androidplot的主要开发者,所以我有点偏见,但我会试着捍卫我的建议:
Androidplot的核心焦点之一是动态数据的准确表示,而其他库似乎专注于静态数据或缺乏更好的术语半动态数据。可以从其他绘图库动画图来获得“动态”显示,但数据模型和显示数据之间的竞争条件很有可能,特别是在上面提到的模型以更高频率更新模型的情况下比显示器。
使用主线程绘制大量数据甚至是高频率的少量数据也存在问题。这可能会通过增加UI交互的延迟来影响UX,甚至可能占用主线程足够长的时间以使操作系统认为应用程序已挂起。 Androidplot通过提供在后台线程中进行所有渲染的选项解决了这个问题,保持主线程没有延迟。这是一个功能(从后台线程渲染)(据我所知),仅对Androidplot是唯一的。
我不会说Androidplot是适用于Android的最终所有图表库,当然还有其他几个好的库,但您的特殊要求特别适合Androidplot设计的主要用例之一。 / p>
/销售推销:)
编辑: 至于动态数据的滚动/缩放:就像使用XYPlotZoomPan类而不是XYPlot一样简单: - )
答案 1 :(得分:1)
对于实时数据绘图,我使用jjoe64。我自己对这个图书馆很陌生,但我按照我的要求运行它,我相信它也会对你有利......
答案 2 :(得分:1)
如果主要的开发者在这个帖子上游行,那么我必须说几句话。您可以选择最适合需求的图书馆。
AChartEngine为开箱即用提供了捏缩放和拖拽。您还可以启用内置按钮进行放大,缩小和重置,也可以为此创建自定义按钮。
动态图表就像修改数据集的内容并在图表视图中调用repaint()
一样简单。
我还建议您查看these使用情况统计信息。