仅显示选定/突出显示的值的圆圈

coj*_*joj 1 ios swift ios-charts

我到处寻找这个,但无法找到任何解决方案或有关如何实现这一目标的任何提示。我只想为选定/突出显示的点绘制一个指示器(圆圈)。现在我有

dataSet.drawCircleHoleEnabled = false
dataSet.drawCirclesEnabled = false
Run Code Online (Sandbox Code Playgroud)

所以我的折线图看起来很简单,但是一旦我开始拖动我的查找器并看到高亮指示器,我也想看到一个圆圈显示我的数据条目。我想要看起来像这样的东西:

在此处输入图片说明

到目前为止,我想到的唯一一件事是创建另一个数据集并使用委托动态配置它,但对于如此常见的事情似乎有点过分。

aiw*_*una 6

你需要创建一个自定义标记

class CircleMarker: MarkerImage {
    
    @objc var color: UIColor
    @objc var radius: CGFloat = 4
    
    @objc public init(color: UIColor) {
        self.color = color
        super.init()
    }
    
    override func draw(context: CGContext, point: CGPoint) {
        let circleRect = CGRect(x: point.x - radius, y: point.y - radius, width: radius * 2, height: radius * 2)
        context.setFillColor(color.cgColor)
        context.fillEllipse(in: circleRect)
        
        context.restoreGState()
    }
}
Run Code Online (Sandbox Code Playgroud)

并使用它

let marker = CircleMarker(color: .red)
chart.marker = marker
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

基于BallonMarker