问题描述
我要在我的应用程序中添加一个基于图表框架的折线图,该图表旨在绘制一段时间内(在一天内)的值。格式非常简单:浮点数和日期。我为我的xAxis实现了一个格式化程序
extension lineChartViewController: IAxisValueFormatter {
func stringForValue( _ value: Double,axis _: AxisBase?) -> String {
let formatter = DateFormatter()
formatter.dateStyle = .none
formatter.timeStyle = .short
return formatter.string(from: Date(timeIntervalSince1970: value))
}
}
由于我的值介于6:00 am和9:00 pm之间,因此我也进行了计算和设置
lineChartView.xAxis.axisMinimum = xAxisMin
lineChartView.xAxis.axisMaximum = xAxisMax
其中xAxisMin
和xAxisMax
表示为Double
let sod = Calendar.current.startOfDay(for: firstValue)
let startTime = 6.0
let endTime = 21.0
let xAxisMin = sod.timeIntervalSince1970 + startTime * 3600
let xAxisMax = xAxisMin + (endTime - startTime) * 3600
我的图表是准确的,并且值(通过外推法)在6:55 AM,10:43 AM,12:24 PM等处正确对齐,但是我无法在xAxis上获取标签至少是按小时下降,而不是8:20、11:06、1:53
我试图与lineChartView.xAxis.labelCount = 6
一起玩而没有任何效果
- 如何在设置的时间间隔(6:00、9:00、12:00, 3:00等...)
在SO或Github上找不到任何类似的东西,所以在此先感谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)