首先我应该说MPAndroidChart很棒,你带来了几个功能和定制,这让它非常酷。
我希望通过MPAndroidChart添加用户互动,
我的要求是:
在组合图表(折线图和气泡图)中,我希望用户在MPAndroidChart的x,y坐标空间中拖动和移动数据点。
我希望用户拖动显示的数据, 如何实现这一点,哪个类可以分类来实现这一点。
答案 0 :(得分:2)
为图表数据添加交互性 - 你需要一个带有平移手势的视图
需要子类化CombinedChartView,LineChartRenderer,BubbleChartRenderer
创建渲染器对象, - 此渲染器对象需要由CombinedChartView中创建的渲染器替换,因此我们将其子类化并将渲染器对象替换为子类型的渲染器。
在我们的CombinedChartView(子类)中覆盖数据变量的getter,setter,因此在分配数据时,我们使用Pan手势创建一次UIView,在UIView中引用它对应的ChartDataEntry,因此在UIView的Pan处理函数我们改变了这个DataEntry的xIndex等并调用了setNeedsDisplay。(UIView的帧位置还不知道,保留原点)
在我们的Renderer类(LineChartRenderer或BubbleChartRenderer的子类)中覆盖DrawDataSet函数 - 这是实际绘图发生的地方,这是我们可以获得UIView的精确x,y坐标的地方,我们最终设置在CombinedChartView中创建的视图的框架位置。
那就是它,当我们平移UIView时,视图将平移并反过来移动ChartDataEntry的xIndex