例如,3个列的y轴值在条形图中为100,200,300。 用户单独选择一列并在y轴上将其拖动到500值。 怎么做到这一点? 它是否可以在androidplot或aChartPlugin这样的库中使用? 如果不是哪个插件支持此要求。我们的项目适用于Android平板电脑 请提供此要求的示例代码。谢谢。
答案 0 :(得分:1)
据我所知,没有适用于Android的图书馆提供开箱即用的图书馆。拖动和重组数据的功能。话虽如此,任何为您提供将触摸事件与数据元素相关联并且还支持动态更新的方法的库应该是合适的。
如果您对"拖拽"有特殊要求?实施后,您可能最终必须滚动自己的库或根据您的需要自定义现有库。如果没有,这是一个基本的工作流程,你可以用Androidplot实现,它代表了作为光标的拖动操作:
1 - 使用OnTouchListener检测选择。条形图的Here's an example,允许通过触摸选择条形图。给出了将屏幕坐标转换为模型元素等的完整示例。创建并添加XValueMarker的实例,表示选择的当前位置。 (XValueMarker基本上是一个可自定义的标记x-val的垂直线。
2 - 检测"拖动"使用OnTouchListener的事件。 Here's an example检测缩放和滚动。它完全不是一回事,但滚动逻辑足够接近你的想法。
3 - 当用户拖动时,按XValueMarker.setValue(Number)更新XValueMarker的位置。
4 - 一旦"拖动"结束,删除XValueMarker并修改底层XYSeries以使用基本数据结构操作来反映更改。
当然记得在每次操作之后总是调用plot.redraw(),这些操作有望以某种方式改变绘图的外观。