gpt4 book ai didi

ios - 使用 iOS 图表框架保持 xAxis 值的顺序

转载 作者:行者123 更新时间:2023-11-28 15:19:41 25 4
gpt4 key购买 nike

我正在设置一个在 xAxis 上有一些值的 CombinedChartView,比方说 (15, 16, 17, 2, 3)

用这行代码

for i in 0..<gameStatsMonth.count {

let dataEntryTeam = ChartDataEntry(x: Double(gameStatsMonth[i].day!), y: Double(gameStatsMonth[i].points!))

lineDataEntryTeam.append(dataEntryTeam)
}

碰巧这些值按 xAxis 排序显示,如下所示:2、3、15、16、17。

有什么方法可以保持 x 值的第一顺序? (它们在 lineDataEntryTeam 中的插入顺序)

最佳答案

为 xAxis 添加一个数组(在您的函数之外):

var xaxisVals = [Double]()

更新你的 for 循环

for i in 0..<gameStatsMonth.count {
let dataEntryTeam = ChartDataEntry(x: Double(gameStatsMonth[i].day!), y: Double(gameStatsMonth[i].points!))
xaxisVals.append(Double(gameStatsMonth[i].day!))
lineDataEntryTeam.append(dataEntryTeam)
}

采用IAxisValueFormatter:

class YourViewController: UIViewController, IAxisValueFormatter

填写委托(delegate)方法:

func stringForValue(_ value: Double, axis: AxisBase?) -> String {
return xaxisVals[Int(value)]
}

在类中,定义委托(delegate):

weak var axisFormatDelegate: IAxisValueFormatter?

viewDidLoad 中将委托(delegate)设置为 self:

axisFormatDelegate = self

for循环后,设置xAxis:

let xaxis = lineDataEntryTeam.xAxis
xaxis.granularityEnabled = true
xaxis.granularity = 1
xaxis.valueFormatter = axisFormatDelegate

关于ios - 使用 iOS 图表框架保持 xAxis 值的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46239190/

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