我在我的x轴上使用CPTAxisLabelingPolicyAutomatic,用于一年中的时间线(例如2015年3月7日)。
这是我的参考日期:
let components = NSDateComponents()
components.month = 10
components.day = 29
components.year = 1970
components.hour = 0
components.minute = 0
components.second = 0
referenceDate = NSCalendar.currentCalendar().dateFromComponents(components)!
这是我的x轴样式的一部分
x.labelingPolicy = .Automatic
let oneDay:NSTimeInterval = 60 * 60 * 24
x.majorIntervalLength = oneDay
x.minorTicksPerInterval = 0
let formatter = NSDateFormatter()
formatter.dateStyle = .MediumStyle
formatter.timeStyle = .NoStyle
let timeFormatter = CPTTimeFormatter(dateFormatter: formatter)
timeFormatter.referenceDate = referenceDate
x.labelFormatter = timeFormatter
问题是尽管如此,x值是在他们不遵守该特定日期的网格线的那天的00:00:00时的NSDate:
但如果我使用.FixedInterval策略,我会得到正确的行为,但我在收缩时松开了自动标注。
我如何从这两个世界中受益?
答案 0 :(得分:0)
自动标注算法不知道日期,因此它不会将轴拆分为“好”日期间隔,如天或周。目前,固定间隔标签政策是最佳解决方案。您可以根据显示的范围确定适当的间隔。有一个open issue可以添加适当的日期支持,但它的优先级很低,我无法保证何时完成。