提问者:小点点

如何在图表iOS中显示条形图顶部的条形图值?


我用的是图表吊舱。

我的问题是,我想在顶部显示条形图值,但我不能改变图表函数,比如label.position=.top,因为这样,天的名称就会出现在顶部。

此外,我不能使天标签静态,因为它将改变为年和月智慧也

如果任何人都知道我想在Swift5中输入代码的答案,这将是很有帮助的

//下面是我的代码:

    let dataSet =  BarChartDataSet(entries: enteies,label: "Days")
    dataSet.valueColors = [.clear]
    dataSet.colors = [#colorLiteral(red: 0.1219139919, green: 0.4706707597, blue: 0.7069483399, alpha: 1)]
    let data = BarChartData(dataSets: [dataSet])

    barChartView.data = data
    barChartView.chartDescription?.text = ""
    barChartView.scaleXEnabled = false
    barChartView.scaleYEnabled = false
    barChartView.highlightPerTapEnabled = true
    barChartView.dragEnabled = true
    barChartView.fitBars = true
    barChartView.drawValueAboveBarEnabled = true
    barChartView.animate(yAxisDuration: 0.5)
    barChartView.legend.enabled = false
    barChartView.legend.drawInside = true

    barChartView.xAxis.drawGridLinesEnabled = false
    barChartView.xAxis.enabled = true
    barChartView.xAxis.axisLineColor = #colorLiteral(red: 0.1215686275, green: 0.4705882353, blue: 0.7058823529, alpha: 1)
    barChartView.xAxis.granularityEnabled = false
    barChartView.xAxis.granularity = 1
    barChartView.xAxis.labelPosition = .bottom

    barChartView.leftAxis.axisMinimum = 0
    barChartView.leftAxis.granularity = 1
    barChartView.leftAxis.granularityEnabled = true
    barChartView.leftAxis.drawGridLinesEnabled = false
    barChartView.leftAxis.axisLineColor = #colorLiteral(red: 0.1219139919, green: 0.4706707597, blue: 0.7069483399, alpha: 1)

    barChartView.rightAxis.enabled = false
    barChartView.rightAxis.drawGridLinesEnabled = false

    var title = [String]()
    for value in insightsVM.graphData{
        if insightsVM.graphData.count > 5{
            title.append(String(value.title.prefix(3)))
        }
        else{
            title.append(value.title)
        }
    }
    if insightsVM.graphData.count > 7{
        barChartView.xAxis.labelCount = 12
    }

    barChartView.xAxis.valueFormatter = IndexAxisValueFormatter(values:title)
    barChartView.drawValueAboveBarEnabled = true

共1个答案

匿名用户

我的值是他们在栏的顶部,但我做错的是我在线上清除他们的文本颜色:“dataset.valueColors=[.clear]”。