ios 图表整数转换
ios charts integer convert
我在 objc 项目上使用 ios Charts 3.0。我在 Whosebug 上搜索了答案,但没有找到正确的结果。我在我的项目中使用水平条形图和饼图并尝试使用
yAxis.valueFormatter = NSNumberFormatter()
yAxis.valueFormatter.minimumFractionDigits = 0
对于每个轴以及自定义格式化程序:
- (NSString *)stringForValue:(double)value
axis:(ChartAxisBase *)axis
{
return [@((NSInteger)value) stringValue];
}
这两种方式都不适合我。你们能帮忙解决一下吗?
试试下面的代码。我在Swift写的,知道的不多Objective-C。我希望它有所帮助。我正在将它用于 BarChart,它非常有用。
let fmt = NumberFormatter()
fmt.numberStyle = .decimal
fmt.maximumFractionDigits = 0
fmt.groupingSeparator = ","
fmt.decimalSeparator = "."
yAxis.valueFormatter = DefaultAxisValueFormatter.init(formatter: fmt)
您需要使用自定义格式化程序扩展 IValueFormatter 协议 class,
import Foundation
import Charts
// Custom value formatter class
class BarValueFormatter : NSObject, IValueFormatter {
// This method is called when a value (from labels inside the chart) is formatted before being drawn.
func stringForValue(_ value: Double,
entry: ChartDataEntry,
dataSetIndex: Int,
viewPortHandler: ViewPortHandler?) -> String {
let digitWithoutFractionValues = String(format: "%.0f", value)
return digitWithoutFractionValues
}
}
现在在您的代码中使用自定义 class 初始化条形值格式化程序。它将删除所有 precision/franction 值。
let chartDataSet = BarChartDataSet(values: <dataSetValues>, label: <stringValue>)
let valueFormatter = BarValueFormatter()
chartDataSet.valueFormatter = valueFormatter
我在 objc 项目上使用 ios Charts 3.0。我在 Whosebug 上搜索了答案,但没有找到正确的结果。我在我的项目中使用水平条形图和饼图并尝试使用
yAxis.valueFormatter = NSNumberFormatter()
yAxis.valueFormatter.minimumFractionDigits = 0
对于每个轴以及自定义格式化程序:
- (NSString *)stringForValue:(double)value
axis:(ChartAxisBase *)axis
{
return [@((NSInteger)value) stringValue];
}
这两种方式都不适合我。你们能帮忙解决一下吗?
试试下面的代码。我在Swift写的,知道的不多Objective-C。我希望它有所帮助。我正在将它用于 BarChart,它非常有用。
let fmt = NumberFormatter()
fmt.numberStyle = .decimal
fmt.maximumFractionDigits = 0
fmt.groupingSeparator = ","
fmt.decimalSeparator = "."
yAxis.valueFormatter = DefaultAxisValueFormatter.init(formatter: fmt)
您需要使用自定义格式化程序扩展 IValueFormatter 协议 class,
import Foundation
import Charts
// Custom value formatter class
class BarValueFormatter : NSObject, IValueFormatter {
// This method is called when a value (from labels inside the chart) is formatted before being drawn.
func stringForValue(_ value: Double,
entry: ChartDataEntry,
dataSetIndex: Int,
viewPortHandler: ViewPortHandler?) -> String {
let digitWithoutFractionValues = String(format: "%.0f", value)
return digitWithoutFractionValues
}
}
现在在您的代码中使用自定义 class 初始化条形值格式化程序。它将删除所有 precision/franction 值。
let chartDataSet = BarChartDataSet(values: <dataSetValues>, label: <stringValue>)
let valueFormatter = BarValueFormatter()
chartDataSet.valueFormatter = valueFormatter