如何在Swift中向图表添加注释?

时间:2019-07-19 14:44:30

标签: ios swift charts annotations ios-charts

我正在使用iOS图表(https://github.com/danielgindi/Charts)可视化某些数据集。我希望能够向图表的特定点添加注释。

由于注释功能,我最初使用SciChart进行此操作,但由于预算限制,不得不切换到图表。还未能弄清楚如何使用Charts复制项目的注释部分。

例如,如果我要在点[1,1]上添加“测试注释”,则将文本放置在图表上的点[1,1]上。

简而言之:我想弄清楚如何创建一个包含文本的注释对象并将其放置在图表上的指定点。

谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

经过一番挖掘,我找到了解决方案。以为我会分享,以防其他人!

我将GitHub(https://github.com/danielgindi/Charts/blob/master/ChartsDemo-iOS/Swift/Components/BalloonMarker.swift)上Charts文件附带的Balloon Marker类添加到了我的项目中。

然后我进入课程并修改了一段代码:

open override func refreshContent(entry: ChartDataEntry, highlight: Highlight)
    {
        setLabel(String(entry.y))
    }

    open override func refreshContent(entry: ChartDataEntry, highlight: Highlight)
    {
        let des = entry.data as! String
        let annot = "X: " + String(entry.x) + "\n Y:" + String(entry.y) + "\n Annotation: " + des
        setLabel(annot)
    }

与众不同之处在于,原始文档仅使标记显示Y坐标,而修改后的代码段现在显示ChartDataEntry对象的X,Y和数据字段。

完成此操作后,我的注释就在图形上工作了,

TL; DR:

  • 设置ChartDataEntry对象的字段
  • 修改BM类以显示相关字段