我正在尝试使用Swift 3.0的iOS Charts库进行一些操作。 我有一个关于lineChartDataset值格式化的问题(显示在每个值点上方)。现在这些值是'双'并显示为2.0和3.0而不是仅显示2和3等。是否可以舍入这些值?我尝试使用numberFormatter,但没有任何作用。任何帮助将不胜感激。
答案 0 :(得分:5)
ios-charts已升级为协议基础方法,用于呈现各种标签,如xAxis,yAxis等。因此,您必须实现协议IValueFormatter
才能获得所需的结果。我已经创建了相同的类,所以直接使用如下所示&你将能够取得理想的结果。
创建一个名为DigitValueFormatter
&的班级将其作为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)"
}
}