我想以编程方式选择最后一个数据点并绘制渐变背景,但我得到的highLight是NAN,所以我无法获得绘制渐变的坐标。我使用:
chartView.highlightValue(Highlight(x: lastEntry.x, y: lastEntry.y, dataSetIndex: 0), callDelegate: true)
选择最后一个条目,并在delegate函数中绘制渐变:func chartValueSelected(_ chartView: ChartViewBase, entry: ChartDataEntry, highlight: Highlight)
我也试过用“valueToPixelMatrix”的方式来获取坐标,但结果与highlight.xPx和highlight.yPx不同,我想问一下如何才能在图表视图上获取数据点的正确坐标。谢谢大家。
2条答案
按热度按时间gijlo24d1#
我认为你用错误的方式定制突出显示。您不需要使用此委托函数进行绘图。
您需要创建自己的渲染器类并覆盖
drawHighlighted(context: CGContext, indices: [Highlight])
方法。在这个地方,您将获得正确的坐标。请记住,您需要根据图表视图的类型从适当的父类示例化。(例如CandleStickChartRenderer
、BarChartRenderer
、LineChartRenderer
等)别忘了将自定义渲染器类的示例设置为图表视图的渲染器属性。
祝你好运
anhgbhbe2#
你可以试试这个: