如何设置正确的标签是iOS图表条形图和颜色列,以适应?

时间:2017-01-07 14:36:22

标签: ios swift charts ios-charts

我有一张iOS图表,如下图所示,标签显示不正确(或不是我想要的)。

enter image description here

正如你所看到的,他们都说'游戏玩过''和我的图表中的每个条形颜色相同。

如何更改每个条形图的颜色并显示正确的相应标签,'赢了','绘制','丢失'?

这是我的代码:

override func viewDidLoad() {
   super.viewDidLoad()

   let results =  ["Won", "Drawn", "Lost"]
   let games = [totalWins, totalDraws, totalLosses]
   setChart(dataPoints: results, values: games)
}

func setChart(dataPoints: [String], values: [Double]){

    let formato:BarChartFormatter = BarChartFormatter()
    let xaxis:XAxis = XAxis()

    barChartView.noDataText = "you need to provide some data for the chart."

    var dataEntries: [BarChartDataEntry] = Array()

    for i in 0..<dataPoints.count {
        let dataEntry = BarChartDataEntry(x: Double(i), y: values[i])
        dataEntries.append(dataEntry)
        formato.stringForValue (Double(i), axis: xaxis)
    }

    xaxis.valueFormatter = formato
    barChartView.xAxis.valueFormatter = xaxis.valueFormatter

    let chartDataSet = BarChartDataSet(values: dataEntries, label: "Games Played")
    let chartData = BarChartData(dataSets: [chartDataSet])

    chartData.addDataSet(chartDataSet)
    barChartView.data = chartData
    barChartView.leftAxis.forceLabelsEnabled = true
    barChartView.rightAxis.forceLabelsEnabled = true

    barChartView.xAxis.granularityEnabled = true
    barChartView.xAxis.granularity = 1.0

    barChartView.leftAxis.drawGridLinesEnabled = false
    barChartView.rightAxis.drawGridLinesEnabled = false
    barChartView.xAxis.drawGridLinesEnabled = false

    barChartView.rightAxis.enabled = false
    barChartView.drawGridBackgroundEnabled = false
    self.barChartView.xAxis.labelPosition = XAxis.LabelPosition.bottom

}

1 个答案:

答案 0 :(得分:0)

只需添加chartDataSet.colors = ChartColorTemplates.material(),您就可以添加UIColor数组,以便根据需要进行自定义。