首先我应该说 MPAndroidChart 非常棒,您引入了多种功能和自定义功能,这使得它非常酷。
我希望添加与 MPAndroidChart 的用户交互,
我的要求是:
在组合图表(折线图和气泡图)中,我希望用户在 MPAndroidChart 的 x,y 坐标空间中拖动和移动数据点。
我希望用户拖动显示的数据, 如何实现,可以子类化哪个类来实现。
最佳答案
为图表数据添加交互性 - 您需要使用平移手势进行 View
需要子类CombinedChartView、LineChartRenderer、BubbleChartRenderer
创建渲染器对象, - 该渲染器对象需要替换为在CombinedChartView中创建的渲染器,因此我们对其进行子类化,并将渲染器对象替换为我们的子类版本的渲染器对象。
在我们的CombinedChartView(子类)中重写数据变量的getter,setter,因此在分配数据时,我们使用平移手势创建一次UIView,并在UIView中引用它对应的ChartDataEntry,因此在UIView的平移处理函数中我们改变这个DataEntry的xIndex等并调用setNeedsDisplay。(UIView的框架位置还不知道,保持在原点)
在我们的 Renderer 类(LineChartRenderer 或 BubbleChartRenderer 的子类)中重写 DrawDataSet 函数 - 这是实际绘图发生的地方,这是我们可以获得 UIView 的精确 x,y 坐标的地方,我们最后设置在CombinedChartView 中创建的 View 的框架位置。
就是这样,当我们平移 UIView 时, View 将平移并依次移动 ChartDataEntry 的 xIndex
关于ios - 运行时与 MPAndroidChart 的用户交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38563119/