Хорошо, я нашел его. Для справки: Вместо того, чтобы добавлять SChartDateTimeAxis
, вы должны добавить SChartDiscontiniousDateTimeAxis
.
Тогда для любого пробела в dataSeries вы должны явно исключить период времени с addExcludedTimePeriod:
. (Вы можете сделать это, проверяя, является ли следующий день следующей датой в dataSeries).
SChartDiscontinuousDateTimeAxis *xAxis = [[SChartDiscontinuousDateTimeAxis alloc] init];
for (NSUInteger iter = 0; iter < self.quotes.count - 1; iter++) {
NSDate* thisDate = ((TBHistoricQuote*)self.quotes[iter]).date;
NSDate* nextDate = [[NSCalendar currentCalendar] dateByAddingUnit:NSCalendarUnitDay
value:1
toDate:thisDate
options:0];
NSDate* nextSeriesElementDate = ((TBHistoricQuote*)self.quotes[iter+1]).date;
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
if ([nextDate compare:nextSeriesElementDate] == NSOrderedAscending) {
NSDateComponents *components = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay
fromDate:nextDate
toDate:nextSeriesElementDate
options:0];
[xAxis addExcludedTimePeriod:[[SChartTimePeriod alloc] initWithStart:nextDate andLength:[[SChartDateFrequency alloc] initWithDay:components.day]]];
}
}
self.chart.xAxis = xAxis;