使用(iOS图表)和LineChartData setValueTextColor的线形图xAxis标签具有多种颜色

时间:2018-07-18 07:08:27

标签: ios swift linechart ios-charts

在这里,我正在使用iOS图表来实现折线图。我一直在为每个数据点的xAxis标签和值使用多种颜色。

https://github.com/danielgindi/Charts

对于xAxis,我需要使用两种不同颜色的NSAttributedString,这是使用的代码。无法弄清楚该怎么做。

    xChart.drawLabelsEnabled = true
    xChart.labelCount = 20
    xChart.labelFont = SomeFont
    xChart.labelTextColor = UIColor.white        
    xChart.labelPosition = .bottom
    xChart.labelHeight = 52.0
    xChart.granularityEnabled = true
    xChart.granularity = 1
    xChart.valueFormatter = IndexAxisValueFormatter(values: self.weeks)

对于每个数据点的valueTextColor相似

    let lineChartData = LineChartData(dataSets: dataSets)
    self.lineChart.data = lineChartData

    // Enables Text above Circle - Color and Font
    lineChartData.setDrawValues(true)
    lineChartData.setValueTextColor(.white)        
    lineChartData.setValueFont(some font)

使用过的值格式化程序位于Int

This is what I want to implement the one with green circles with two different colors

这就是我要用带有两种不同颜色的绿色圆圈实现的一种方法

This is what I got

这就是我得到的

任何人都可以提供解决方案吗?

在@CodeChanger的帮助下已修复了一个问题,期待在图像19 Jun的底部找到另一个问题

1 个答案:

答案 0 :(得分:1)

根据您的要求,ChartDataSet中有一个名为“ valueColors ”的属性。

请检查以下代码,以根据自定义条件更改值颜色,您可以更改值的颜色。

let chartDataSet = LineChartDataSet(values: dataEntries, label: label)
chartDataSet.valueColors = [UIColor(red: 0.192, green: 0.686, blue: 0.980, alpha: 1.00),
                                    UIColor(red: 0.212, green: 0.863, blue: 0.318, alpha: 1.00),
                                    UIColor(red: 0.996, green: 0.867, blue: 0.275, alpha: 1.00),
                                    UIColor(red: 0.980, green: 0.090, blue: 0.157, alpha: 1.00)]

通过此操作,您可以更改值文本的颜色。