图表lineChartDataset舍入值

时间:2017-01-13 23:14:40

标签: ios swift charts swift3 ios-charts

我正在尝试使用Swift 3.0的iOS Charts库进行一些操作。 我有一个关于lineChartDataset值格式化的问题(显示在每个值点上方)。现在这些值是'双'并显示为2.0和3.0而不是仅显示2和3等。是否可以舍入这些值?我尝试使用numberFormatter,但没有任何作用。任何帮助将不胜感激。

1 个答案:

答案 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)"
    }
}