ios - 运行时与 MPAndroidChart 的用户交互

标签 ios mpandroidchart ios-charts

首先我应该说 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/

相关文章:

Android MP 图表,条形图 Y 轴显示从 0.0f

设置 setVisibleXRangeMaximum 时,iOS-Charts X 轴值无限重复

swift - 用户与 ios-charts 的交互

ios - 如何复制 iOS 键盘外观?

iphone - 为什么我的 UINavigationController 在发布配置时崩溃?

android - MPAndroidChart 不显示 MarkerView

ios - 如何设置正确的标签才能适合iOS Charts条形图和颜色柱?

ios - 正确的数据未显示在 ios 图表中

ios - AVPlayerViewController 上没有 "Done"按钮

javascript - 如何通过在 React Native 中点击屏幕来关闭模态