这里我用的是Charts Library 对于水平条形图, 我已经设置代码如下
var dataEntries: [BarChartDataEntry] = []
for i in 0..<dataPoints.count {
let dataEntry = BarChartDataEntry(x: Double(i), yValues: [values[i]])
dataEntries.append(dataEntry)
}
let chartDataSet = BarChartDataSet(values: dataEntries, label: "Units Sold")
let chartData = BarChartData(dataSet: chartDataSet)
barChartView.data = chartData
//Horizontal
HbarChartView.animate(yAxisDuration: 0.2)
HbarChartView.data = chartData
HbarChartView.xAxis.labelPosition = .bottom
HbarChartView.xAxis.labelTextColor = UIColor.blue
HbarChartView.animate(xAxisDuration: 2.0, yAxisDuration: 2.0, easingOption: .easeInBounce)
HbarChartView.rightAxis.addLimitLine(ll)
HbarChartView.setVisibleYRange(minYRange: 0, maxYRange: 10, axis: .left)
X 轴数据为蓝色。
我想在 X 轴上设置字符串。我该怎么做?
感谢任何帮助
否则, 为单杠推荐任何其他图表库,包括Bar Value 和Animation
最佳答案
你可以实现IAxisValueFormatter在你自己的类(class)中:
为此你只需要实现这个方法:
func stringForValue(_ value: Double, axis: AxisBase?) -> String
例子:
DefaultAxisValueFormatter -> 在这里你可以使用一个 block 来添加你的自定义计算
或者你关注RayWenderlich Tutorial "Using Realm and Charts with Swift 3 in iOS 10" :
您必须设置一些委托(delegate)等等,但这是自定义格式化程序的关键代码片段:
// MARK: axisFormatDelegate
extension ViewController: IAxisValueFormatter {
func stringForValue(_ value: Double, axis: AxisBase?) -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = “HH:mm.ss”
return dateFormatter.string(from: Date(timeIntervalSince1970: value))
}
}
关于ios - 水平条形图 : how to add X-Bar Axis Labels,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41777608/