菜鸟教程小白 发表于 2022-12-12 21:27:32

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


                                            <p><p>首先我应该说 MPAndroidChart 很棒,你引入了一些功能和自定义,这让它真的很酷。</p>

<p>我希望添加与 MPAndroidChart 的用户交互,</p>

<p>我的要求是:</p>

<p>在组合图表(折线图和气泡图)中,我希望用户在 MPAndroidChart 的 x,y 坐标空间中拖动和移动数据点。</p>

<p>我希望用户拖动显示的数据,
这个怎么实现,可以分哪个类来实现这个。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>为图形数据添加交互性
- 你需要一个带有平移手势的 View </p>

<p>需要继承CombinedChartView、LineChartRenderer、BubbleChartRenderer</p>

<p>创建渲染器对象,-这个渲染器对象需要被在CombinedChartView中创建的渲染器替换,因此我们将它子类化并用我们的子类版本的渲染器对象替换。</p>

<p>在我们的CombinedChartView(子类)中覆盖数据变量的getter,setter,因此在分配数据时,我们使用Pan手势创建一次UIView,在UIView中引用它对应的ChartDataEntry,因此在UIView的Pan处理函数中我们改变这个DataEntry的xIndex等并调用setNeedsDisplay。(UIView的框架位置还不知道,保持原点)</p>

<p>在我们的 Renderer 类(LineChartRenderer 或 BubbleChartRenderer 的子类)中覆盖 DrawDataSet 函数 - 这是实际绘图发生的地方,这是我们可以获得 UIView 的确切 x、y 坐标的地方,我们最终设置在 CombinedChartView 中创建的 View 的框架位置。 </p>

<p>就是这样,当我们平移 UIView 时, View 会平移并依次移动 ChartDataEntry 的 xIndex</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 运行时与 MPAndroidChart 的用户交互,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/38563119/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/38563119/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 运行时与 MPAndroidChart 的用户交互