ios-图表值不会基于 x 和 y 轴绘制Swift
ios-chart value won't plot based on x and y axis Swift
我正在 Swift 4 中实现 ios-chart。这是我的代码。
for loopValue in details {
if let datetime = loopValue["datetime"]?.rawString(), let tempValue: Double = loopValue["temperature"]?.double {
if let haveDate = DateFormatter.defaultAPIDateFormatter().date(from: datetime) {
print("(\(haveDate), \(Double(haveDate.timeIntervalSince1970))\nY: \(tempValue))")
let timeInterVel = Double(haveDate.timeIntervalSince1970)
xyValues.append(ChartDataEntry(x: timeInterVel, y: tempValue))
}
}
}
也尝试过直接值,但也不起作用
let xyValues: [ChartDataEntry] = [ChartDataEntry.init(x: 1511360172.0, y: 59.13), ChartDataEntry.init(x: 1511360112.0, y: 59.13), ChartDataEntry.init(x: 1511360051.0, y: 59.13), ChartDataEntry.init(x: 1511359991.0, y: 59.13), ChartDataEntry.init(x: 1511359931.0, y: 59.13), ChartDataEntry.init(x: 1511359871.0, y: 59.13), ChartDataEntry.init(x: 1511359810.0, y: 59.13), ChartDataEntry.init(x: 1511359750.0, y: 59.13), ChartDataEntry.init(x: 1511359690.0, y: 59.13)]
我的 x 和 y 轴值示例日志
(2017-11-22 14:16:12 +0000, 1511360172.0
Y: 59.13)
(2017-11-22 14:15:12 +0000, 1511360112.0
Y: 59.13)
(2017-11-22 14:14:11 +0000, 1511360051.0
Y: 59.13)
(2017-11-22 14:13:11 +0000, 1511359991.0
Y: 59.13)
(2017-11-22 14:12:11 +0000, 1511359931.0
Y: 59.13)
(2017-11-22 14:11:11 +0000, 1511359871.0
Y: 59.13)
(2017-11-22 14:10:10 +0000, 1511359810.0
Y: 59.13)
(2017-11-22 14:09:10 +0000, 1511359750.0
Y: 59.13)
(2017-11-22 14:08:10 +0000, 1511359690.0
Y: 59.13)
(2017-11-22 14:07:10 +0000, 1511359630.0
Y: 59.13)
(2017-11-22 14:06:09 +0000, 1511359569.0
Y: 59.13)
(2017-11-22 14:05:09 +0000, 1511359509.0
Y: 59.13)
(2017-11-22 14:04:09 +0000, 1511359449.0
Y: 59.13)
当我尝试使用(相同的图表配置)示例数据时,ios-图表有效!
let now = Date().timeIntervalSince1970
let hourSeconds: TimeInterval = 60
let from = now - (Double(100) / 2) * hourSeconds
let to = now + (Double(100) / 2) * hourSeconds
let values = stride(from: from, to: to, by: hourSeconds).map { (x) -> ChartDataEntry in
let y = arc4random_uniform(range) + 50
return ChartDataEntry(x: x, y: Double(y))
}
如果我的图表配置很糟糕,则意味着(示例数据)也无法正常工作。
不知道哪里出了问题
我的 x 轴值是正确的(我认为),因为我得到了 x 轴值。
更新
随机点击从图表中调用
具有不同值集的相同代码按预期工作。
一天后找到答案。
这是因为日期应该在 order/ascending(今天到明天)我正在做明天到今天。
我正在 Swift 4 中实现 ios-chart。这是我的代码。
for loopValue in details {
if let datetime = loopValue["datetime"]?.rawString(), let tempValue: Double = loopValue["temperature"]?.double {
if let haveDate = DateFormatter.defaultAPIDateFormatter().date(from: datetime) {
print("(\(haveDate), \(Double(haveDate.timeIntervalSince1970))\nY: \(tempValue))")
let timeInterVel = Double(haveDate.timeIntervalSince1970)
xyValues.append(ChartDataEntry(x: timeInterVel, y: tempValue))
}
}
}
也尝试过直接值,但也不起作用
let xyValues: [ChartDataEntry] = [ChartDataEntry.init(x: 1511360172.0, y: 59.13), ChartDataEntry.init(x: 1511360112.0, y: 59.13), ChartDataEntry.init(x: 1511360051.0, y: 59.13), ChartDataEntry.init(x: 1511359991.0, y: 59.13), ChartDataEntry.init(x: 1511359931.0, y: 59.13), ChartDataEntry.init(x: 1511359871.0, y: 59.13), ChartDataEntry.init(x: 1511359810.0, y: 59.13), ChartDataEntry.init(x: 1511359750.0, y: 59.13), ChartDataEntry.init(x: 1511359690.0, y: 59.13)]
我的 x 和 y 轴值示例日志
(2017-11-22 14:16:12 +0000, 1511360172.0
Y: 59.13)
(2017-11-22 14:15:12 +0000, 1511360112.0
Y: 59.13)
(2017-11-22 14:14:11 +0000, 1511360051.0
Y: 59.13)
(2017-11-22 14:13:11 +0000, 1511359991.0
Y: 59.13)
(2017-11-22 14:12:11 +0000, 1511359931.0
Y: 59.13)
(2017-11-22 14:11:11 +0000, 1511359871.0
Y: 59.13)
(2017-11-22 14:10:10 +0000, 1511359810.0
Y: 59.13)
(2017-11-22 14:09:10 +0000, 1511359750.0
Y: 59.13)
(2017-11-22 14:08:10 +0000, 1511359690.0
Y: 59.13)
(2017-11-22 14:07:10 +0000, 1511359630.0
Y: 59.13)
(2017-11-22 14:06:09 +0000, 1511359569.0
Y: 59.13)
(2017-11-22 14:05:09 +0000, 1511359509.0
Y: 59.13)
(2017-11-22 14:04:09 +0000, 1511359449.0
Y: 59.13)
当我尝试使用(相同的图表配置)示例数据时,ios-图表有效!
let now = Date().timeIntervalSince1970
let hourSeconds: TimeInterval = 60
let from = now - (Double(100) / 2) * hourSeconds
let to = now + (Double(100) / 2) * hourSeconds
let values = stride(from: from, to: to, by: hourSeconds).map { (x) -> ChartDataEntry in
let y = arc4random_uniform(range) + 50
return ChartDataEntry(x: x, y: Double(y))
}
如果我的图表配置很糟糕,则意味着(示例数据)也无法正常工作。
不知道哪里出了问题
我的 x 轴值是正确的(我认为),因为我得到了 x 轴值。
更新
随机点击从图表中调用
一天后找到答案。 这是因为日期应该在 order/ascending(今天到明天)我正在做明天到今天。