具有ios-charts的特定栏上方文本的属性

hor*_*sun 6 ios swift ios-charts swift2

如何更改BarChart中特定条形图上方文本的属性(例如字体大小,文本颜色等)?

条形图示例.

在这个例子中,我想要红色的" - $ 5,000.00"并增加条形上方每个文本的字体大小.

这是一些代码:

@IBOutlet weak var barChartView: BarChartView!


// init barChartView --------------------------------------
barChartView.descriptionText = ""

barChartView.legend.enabled = false

// grid lines
barChartView.xAxis.drawAxisLineEnabled = false
barChartView.xAxis.drawGridLinesEnabled = false
barChartView.leftAxis.drawAxisLineEnabled = false
barChartView.leftAxis.drawGridLinesEnabled = false
barChartView.rightAxis.drawAxisLineEnabled = false
barChartView.rightAxis.drawGridLinesEnabled = false

// X-axis line
barChartView.xAxis.drawAxisLineEnabled = true
barChartView.xAxis.axisLineColor = axisGridsAndLabelsColor

// X-axis labels
barChartView.xAxis.labelTextColor = axisGridsAndLabelsColor
barChartView.xAxis.labelPosition = .Bottom

// Y-axis labels
accountsBarChartView.leftAxis.labelTextColor = axisGridsAndLabelsColor
accountsBarChartView.rightAxis.drawLabelsEnabled = false
//---------------------------------------------------------


// bar chart's data
var dataPoints = [String]()
var values = [Double]()
var colors = [UIColor]()

// build bar chart's data...


// dataEntries and barChartDataSet
var dataEntries = [ChartDataEntry]()
for i in 0..<dataPoints.count
{
    let dataEntry = BarChartDataEntry(value: values[i], xIndex: i)
    dataEntries.append(dataEntry)
}

let barChartDataSet = BarChartDataSet(yVals: dataEntries, label: "")
barChartDataSet.colors = colors


// valueFormatter
let currencyNumberFormatter = NSNumberFormatter()
currencyNumberFormatter.numberStyle = .CurrencyStyle
currencyNumberFormatter.minimumFractionDigits = 2
currencyNumberFormatter.maximumFractionDigits = 2

barChartDataSet.valueFormatter = currencyNumberFormatter


// barChartData
let barChartData = BarChartData(xVals: dataPoints, dataSet: barChartDataSet)
barChartView.data = barChartData
Run Code Online (Sandbox Code Playgroud)

key*_*eyv 17

要设置自己的颜色/字体,可以使用属性valueColorsBarChartDataSet类的"valueFont"

所以它会是这样的

...

var valueColors = [UIColor]()
// dataEntries and barChartDataSet
var dataEntries = [ChartDataEntry]()
for i in 0..<dataPoints.count
{
    let dataEntry = BarChartDataEntry(value: values[i], xIndex: i)
    dataEntries.append(dataEntry)
    if values[i] < 0 {
        valueColors.append(UIColor.redColor())
    }
    else {
        valueColors.append(UIColor.greenColor())
    }
}

let barChartDataSet = BarChartDataSet(yVals: dataEntries, label: "")
barChartDataSet.colors = colors
barChartDataSet.valueColors = valueColors
barChartDataSet.valueFont = *font you want*
Run Code Online (Sandbox Code Playgroud)