回答
感謝每一個誰試圖幫助,這裏是此修復程序,添加以下代碼
let formatter = NumberFormatter()
formatter.numberStyle = .none
formatter.maximumFractionDigits = 0
formatter.multiplier = 1.0
chartData.setValueFormatter(DefaultValueFormatter(formatter: formatter))
到setBarChartData FUNC
func setBarChartData(xValues: [String], yValues: [Double], label: String) {
var dataEntries: [BarChartDataEntry] = []
for i in 0..<yValues.count {
let dataEntry = BarChartDataEntry(x: Double(i), y: yValues[i])
dataEntries.append(dataEntry)
}
let chartDataSet = BarChartDataSet(values: dataEntries, label: label)
let chartData = BarChartData(dataSet: chartDataSet)
let formatter = NumberFormatter()
formatter.numberStyle = .none
formatter.maximumFractionDigits = 0
formatter.multiplier = 1.0
chartData.setValueFormatter(DefaultValueFormatter(formatter: formatter))
let chartFormatter = BarChartFormatter(labels: xValues)
let xAxis = XAxis()
xAxis.valueFormatter = chartFormatter
self.xAxis.valueFormatter = xAxis.valueFormatter
self.data = chartData
}
您需要設置值格式代表在DataSet
像下面
的OBJ-C:
//DataSet 1
LineChartDataSet *set1 = [[LineChartDataSet alloc] initWithValues:values label:@"outstanding"];
set1.valueFormatter = self;
使用下面的代表方法來格式化您的值:
#pragma mark - IChartValueFormatter
- (NSString * _Nonnull)stringForValue:(double)value entry:(ChartDataEntry * _Nonnull)entry dataSetIndex:(NSInteger)dataSetIndex viewPortHandler:(ChartViewPortHandler * _Nullable)viewPortHandler{
//Format your value what you want here
return [NSString stringWithFormat:@"%0.f",value];
}
確認協議:
@interface YourViewController()<ChartViewDelegate,IChartValueFormatter>
對於斯威夫特,你需要創建BARCHART的擴展,並在其中使用下面的方法
斯威夫特:
extension BarChartView {
private class BarChartFormatter: NSObject, IAxisValueFormatter {
var labels: [String] = []
func stringForValue(_ value: Double, axis: AxisBase?) -> String {
return labels[Int(value)]
}
init(labels: [String]) {
super.init()
self.labels = labels
}
}
func setBarChartData(xValues: [String], yValues: [Double], label: String) {
var dataEntries: [BarChartDataEntry] = []
for i in 0..<yValues.count {
let dataEntry = BarChartDataEntry(x: Double(i), y: yValues[i])
dataEntries.append(dataEntry)
}
let chartDataSet = BarChartDataSet(values: dataEntries, label: label)
let chartData = BarChartData(dataSet: chartDataSet)
let chartFormatter = BarChartFormatter(labels: xValues)
let xAxis = XAxis()
xAxis.valueFormatter = chartFormatter
self.xAxis.valueFormatter = xAxis.valueFormatter
self.data = chartData
}
}
致電上述擴展方法是這樣的:
func setChart(){
let months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
let unitsSold = [20.0, 4.0, 3.0, 6.0, 12.0, 16.0, 4.0, 18.0, 2.0, 4.0, 5.0, 4.0]
barChartView.setBarChartData(xValues: months, yValues: unitsSold, label: "Monthly Sales")
}
希望你能得到線圖上的格式化值。
謝謝,代碼是有道理的,我使用swift和im使用數據集的擴展,所以我試圖讓它與swift一起工作!會讓你更新。 – johnny
多數民衆贊成在很好,我也更新了我的代碼與ObjC和Swift其他用戶參考。 – CodeChanger
謝謝!這正是我正在做的,但即時獲取yValues的小數 – johnny
還可以使用:
let format = NumberFormatter()
format.numberStyle = .none
let formatter = DefaultValueFormatter(formatter: format)
data.setValueFormatter(formatter)
- 1. 在餅圖中刪除小數點dc.js
- 2. 試圖從NSString中刪除小數點
- 3. 刪除谷歌圖表工具提示中的小數點
- 4. 刪除數字小數點
- 5. 刪除SQL查詢中的小數點
- 6. 如何刪除jquery中的小數點
- 7. 如何刪除LineChartView iOS圖表中的點
- 8. 小數點後刪除小數點後的零點
- 9. 從小數點變量中刪除小數點(如果有).00
- 10. 如何刪除圖表中的點?
- 11. 從字符串中刪除小數點
- 12. 從貨幣中刪除小數點
- 13. R傳單圖例:colorBin-刪除中斷間的小數點
- 14. 如何刪除Google柱形圖中的小數點
- 15. 爲小數點以上的小數點添加/刪除
- 16. 刪除導出python的小數點
- 17. 如何刪除多餘的小數點?
- 18. NumericUpDown刪除小數點後的零
- 19. HTML數字輸入刪除小數點?
- 20. 刪除小數點但保留數字
- 21. iOS刪除視圖
- 22. 如何刪除c中的小數點後的零點#
- 23. 圓到小數點後兩位並刪除其他小數點
- 24. 在計算後從列表中刪除小數點
- 25. 在MATHEMATICA中刪除Z軸中數字的小數點嗎?
- 26. 從TextView中顯示的數字中刪除小數點
- 27. javascript jquery刪除小數點和零
- 28. jqPlot:從x軸刪除小數點
- 29. 使用SQL查詢刪除小數點
- 30. ios從ViewController中的表中刪除行
你正在使用哪個庫? –
您是否嘗試過下面的代碼來顯示您的數據集值? – CodeChanger
即時通訊使用iOS的圖表https://github.com/danielgindi/Charts – johnny