Как отобразить значение столбца в верхней части столбца на графиках iOS? - PullRequest
0 голосов
/ 19 июня 2020

enter image description here

Я использую модуль Charts .

Моя проблема в том, что я хочу отображать значение полосы вверху, но также я не могу изменить функцию диаграмм, которая выглядит как label.position = .top, потому что тогда название дней будет наверху.

также я не могу сделать метку дней stati c, поскольку она будет меняться в течение года и месяц мудрый также

будет полезно, если кто-нибудь знает ответ, я хочу код в быстром 5

// вот мой код:

    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 Ответ

0 голосов
/ 19 июня 2020
• 1000
...