Core Plot仅限CPTAxisLabelingPolicyAutomatic Days

时间:2015-03-07 17:27:31

标签: ios core-plot

我在我的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: enter image description here

但如果我使用.FixedInterval策略,我会得到正确的行为,但我在收缩时松开了自动标注。

enter image description here

我如何从这两个世界中受益?

1 个答案:

答案 0 :(得分:0)

自动标注算法不知道日期,因此它不会将轴拆分为“好”日期间隔,如天或周。目前,固定间隔标签政策是最佳解决方案。您可以根据显示的范围确定适当的间隔。有一个open issue可以添加适当的日期支持,但它的优先级很低,我无法保证何时完成。