gpt4 book ai didi

ios - X 轴值被重复而不是替换 iOS 图表

转载 作者:可可西里 更新时间:2023-11-01 00:48:28 32 4
gpt4 key购买 nike

轴上的值似乎是重复的而不是被替换,正如您在下面的屏幕截图中看到的那样,它应该绘制“一月”、“二月”、“三月”、“四月”、“五月”, “Jun”而不是模拟器中的结果。

enter image description here

这是代码

class ViewController: UIViewController {

@IBOutlet weak var chartContainer: LineChartView!
let months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun"]
let unitsSold = [20.0, 4.0, 6.0, 3.0, 12.0, 3.0]


override func viewDidLoad() {
super.viewDidLoad()


setChart(dataPoints: months, values: unitsSold)



}

func setChart(dataPoints: [String], values: [Double]) {

// Set up x axis
let xaxis = XAxis()
let chartFormatter = ChartFormatter(myArr: months)

// Array for entries
var dataEntries: [ChartDataEntry] = []

// Add new data entries
for i in 0..<dataPoints.count {

let dataEntry = ChartDataEntry(x: Double(i) , y: values[i], data: "a" as AnyObject? )

dataEntries.append(dataEntry)
chartFormatter.stringForValue(Double(i), axis: xaxis)
}

xaxis.valueFormatter = chartFormatter
chartContainer.xAxis.valueFormatter = xaxis.valueFormatter

// Configure the dataset
let lineChartDataSet = LineChartDataSet(values: dataEntries, label: "Units Sold")
let lineChartData = LineChartData(dataSet: lineChartDataSet)




chartContainer.data = lineChartData



}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}


}

@objc(ChartFormatter)
class ChartFormatter: NSObject, IAxisValueFormatter {

private var myArr: [String]!

init(myArr: [String]) {


self.myArr = myArr
}

func stringForValue(_ value: Double, axis: AxisBase?) -> String {

return myArr[Int(value)]
}
}

最佳答案

我通过添加

自己解决了这个问题
   chartContainer.xAxis.granularityEnabled = true
chartContainer.xAxis.granularity = 1.0

关于ios - X 轴值被重复而不是替换 iOS 图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41527891/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com