如何更改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
答案 0 :(得分:17)
要设置自己的颜色/字体,您可以使用valueColors
类的属性BarChartDataSet
和'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*
答案 1 :(得分:1)
如果您想更改标签以下条的文字属性,您可以使用:
barChartView.xAxis.labelFont = UIFont.systemFont(ofSize: 5)
barChartView.xAxis.labelTextColor = UIColor.red