图表 lineChartDataset 舍入值
Charts lineChartDataset rounded values
我正在使用 Swift 3.0 的 iOS 图表库进行一些尝试。
我对 lineChartDataset 值(显示在每个值点上方)的格式有疑问。现在这些值是 'double' 并且显示为 2.0 和 3.0 而不是 2 和 3 等。是否可以对这些值进行舍入?我尝试使用 numberFormatter 但没有任何效果。任何帮助将不胜感激。
ios-charts 已升级为基于协议的方法来呈现各种类型的标签,如 xAxis、yAxis 等。因此您必须实施协议 IValueFormatter
才能获得所需的结果。我已经创建了相同的class,所以直接使用它如下&你将能够达到预期的结果。
创建一个名为 DigitValueFormatter
的 class 并将其分配给 LineChartData
对象 lineChartData.setValueFormatter(DigitValueFormatter())
import Foundation
import Charts
class DigitValueFormatter : NSObject, IValueFormatter {
func stringForValue(_ value: Double,
entry: ChartDataEntry,
dataSetIndex: Int,
viewPortHandler: ViewPortHandler?) -> String {
let valueWithoutDecimalPart = String(format: "%.0f", value)
return "\(valueWithoutDecimalPart)"
}
}
我正在使用 Swift 3.0 的 iOS 图表库进行一些尝试。 我对 lineChartDataset 值(显示在每个值点上方)的格式有疑问。现在这些值是 'double' 并且显示为 2.0 和 3.0 而不是 2 和 3 等。是否可以对这些值进行舍入?我尝试使用 numberFormatter 但没有任何效果。任何帮助将不胜感激。
ios-charts 已升级为基于协议的方法来呈现各种类型的标签,如 xAxis、yAxis 等。因此您必须实施协议 IValueFormatter
才能获得所需的结果。我已经创建了相同的class,所以直接使用它如下&你将能够达到预期的结果。
创建一个名为 DigitValueFormatter
的 class 并将其分配给 LineChartData
对象 lineChartData.setValueFormatter(DigitValueFormatter())
import Foundation
import Charts
class DigitValueFormatter : NSObject, IValueFormatter {
func stringForValue(_ value: Double,
entry: ChartDataEntry,
dataSetIndex: Int,
viewPortHandler: ViewPortHandler?) -> String {
let valueWithoutDecimalPart = String(format: "%.0f", value)
return "\(valueWithoutDecimalPart)"
}
}