如何在气泡图中设置气泡内的值

时间:2021-03-09 00:11:02

标签: ios swift charts cocoapods core-plot

我有一个制作气泡图的代码,但我想在气泡中写入数字。请问有大神可以指教一下吗?

以下是返回 BubbleChartDataEntry 形式的气泡的示例代码。我希望气泡具有如下所示的数字:bubble chart example photo 目前,我的代码返回下面的图表

Actual graph

我想保留 x 轴

    func setDataCount(_ count: Int, range: UInt32) {
    let yVals1 = (0..<count).map { (i) -> BubbleChartDataEntry in
        let val = Double(arc4random_uniform(range))
        let size = CGFloat(arc4random_uniform(range))
        return BubbleChartDataEntry(x: Double(i), y: val, size: size, icon: UIImage(named: "icon"))
    }
    let yVals2 = (0..<count).map { (i) -> BubbleChartDataEntry in
        let val = Double(arc4random_uniform(range))
        let size = CGFloat(arc4random_uniform(range))
        return BubbleChartDataEntry(x: Double(i), y: val, size: size, icon: UIImage(named: "icon"))
    }
    let yVals3 = (0..<count).map { (i) -> BubbleChartDataEntry in
        let val = Double(arc4random_uniform(range))
        let size = CGFloat(arc4random_uniform(range))
        return BubbleChartDataEntry(x: Double(i), y: val, size: size)
    }
    
    let set1 = BubbleChartDataSet(entries: yVals1, label: "DS 1")
    set1.drawIconsEnabled = false
    set1.setColor(ChartColorTemplates.colorful()[0], alpha: 0.5)
    set1.drawValuesEnabled = true
    
    let set2 = BubbleChartDataSet(entries: yVals2, label: "DS 2")
    set2.drawIconsEnabled = false
    set2.iconsOffset = CGPoint(x: 0, y: 15)
    set2.setColor(ChartColorTemplates.colorful()[1], alpha: 0.5)
    set2.drawValuesEnabled = true
    
    let set3 = BubbleChartDataSet(entries: yVals3, label: "DS 3")
    set3.setColor(ChartColorTemplates.colorful()[2], alpha: 0.5)
    set3.drawValuesEnabled = true
    
    let data = [set1, set2, set3] as BubbleChartData
    data.setDrawValues(false)
    data.setValueFont(UIFont(name: "HelveticaNeue-Light", size: 7)!)
    data.setHighlightCircleWidth(1.5)
    data.setValueTextColor(.white)
    
    chartView.data = data
}

1 个答案:

答案 0 :(得分:0)

我已经修好了。

data.setDrawValues(true)
data.setValueTextColor(.white)