如何在 iOS 图表的左轴上添加字符串?
How to add Strings on Left Axis in iOS-charts?
我正在使用此代码配置左轴:
let leftAxis = chartView.leftAxis
leftAxis.removeAllLimitLines()
leftAxis.gridLineDashLengths = [5, 5]
leftAxis.drawLimitLinesBehindDataEnabled = true
leftAxis.labelTextColor = .white
leftAxis.axisMinimum = 0
leftAxis.drawLabelsEnabled = true
let array = ["a","b","c","e","f","g","h"]
leftAxis.valueFormatter = IndexAxisValueFormatter(values: array)
leftAxis.granularity = 1
为什么不在左轴显示我的标签 iOS Swift?
IndexAxisValueFormatter
用于传递 x 轴标签数组,而不是 y 轴标签。您需要通过实施 IAxisValueFormatter
协议来创建自己的 y 轴值格式化程序。
例如,我想在我的 y 轴上显示某些值的自定义字符串标签。我创建了 MyLeftAxisFormatter
class。
class MyLeftAxisFormatter: NSObject, IAxisValueFormatter {
var labels: [Int : String] = [ 0 : "zero", 3 : "three", 6 : "six", 9 : "nine", 12 : "twelve", 15 : "fifteen", 18 : "eighteen"]
func stringForValue(_ value: Double, axis: AxisBase?) -> String {
return labels[Int((value).rounded())] ?? ""
}
}
并将其用于我图表上的左轴。
lineChartView.leftAxis.valueFormatter = MyLeftAxisFormatter()
请记住,y 轴的显示值是由图表引擎根据视图高度、min/max 值等各种因素计算得出的。当您更改时,此值可能会更改源数据。
我正在使用此代码配置左轴:
let leftAxis = chartView.leftAxis
leftAxis.removeAllLimitLines()
leftAxis.gridLineDashLengths = [5, 5]
leftAxis.drawLimitLinesBehindDataEnabled = true
leftAxis.labelTextColor = .white
leftAxis.axisMinimum = 0
leftAxis.drawLabelsEnabled = true
let array = ["a","b","c","e","f","g","h"]
leftAxis.valueFormatter = IndexAxisValueFormatter(values: array)
leftAxis.granularity = 1
为什么不在左轴显示我的标签 iOS Swift?
IndexAxisValueFormatter
用于传递 x 轴标签数组,而不是 y 轴标签。您需要通过实施 IAxisValueFormatter
协议来创建自己的 y 轴值格式化程序。
例如,我想在我的 y 轴上显示某些值的自定义字符串标签。我创建了 MyLeftAxisFormatter
class。
class MyLeftAxisFormatter: NSObject, IAxisValueFormatter {
var labels: [Int : String] = [ 0 : "zero", 3 : "three", 6 : "six", 9 : "nine", 12 : "twelve", 15 : "fifteen", 18 : "eighteen"]
func stringForValue(_ value: Double, axis: AxisBase?) -> String {
return labels[Int((value).rounded())] ?? ""
}
}
并将其用于我图表上的左轴。
lineChartView.leftAxis.valueFormatter = MyLeftAxisFormatter()
请记住,y 轴的显示值是由图表引擎根据视图高度、min/max 值等各种因素计算得出的。当您更改时,此值可能会更改源数据。