2016-07-25 39 views
0

首先我应该说MPAndroidChart非常棒,你已经引入了几个功能和定制,这使它非常酷。MPAndroidChart在运行时的用户交互

我期待添加与MPAndroidChart用户的交互,

我的要求是:

在组合图(线图和气泡图),我希望用户拖动和移动数据指向x,y坐标MPAndroidChart的空间。

我想让用户拖动显示的数据, 如何实现这一点,哪些类可以分类来实现这一点。

回答

0

要添加交互图形数据 - 你需要平移手势视图

需要继承CombinedChartView,LineChartRenderer,BubbleChartRenderer

创建渲染对象 - 此渲染所需的对象被替换在CombinedChartView中创建的渲染器,因此我们对它进行子类化,并将渲染器对象替换为我们的子类版本。在我们的CombinedChartView(子类)重写数据变量的getter,setter因此,当分配数据时,我们用泛手势创建我们的UIView一次,在UIView中引用它相应的ChartDataEntry,因此在UIView的泛处理程序中功能我们改变这个的DataEntry的xIndex等,并调用setNeedsDisplay。(的UIView的帧位置还不知道,让这一切的原点)

在我们的渲染器类(LineChartRenderer或BubbleChartRenderer的子类)覆盖DrawDataSet功能 - 这是哪里的实际绘图发生,这是我们可以得到我们的UIView精确的x,y坐标的地方,我们最终设置了在CombinedChartView中创建的视图的框架位置。

就是这样,当我们平移的UIView,视图将平移和转移动ChartDataEntry

+0

喜阿尔法的xIndex必须说伟大的工作,没有任何的代码片段?我想看看作为参考 –

+1

嗨阿帕尔, https://gist.github.com/alfredreynold/d961e386f84bda305b750b5a32fc983e 的要点在这里,是一些粗糙的工作仅供参考。 希望它有用。 – Alfa