2015-05-08 3 views
0

Я использую ShinobiChart, чтобы нарисовать график подсвечника подсвечника. Мои данные прерывисты, поэтому на диаграмме будут пробелы.iOS: ShinobiChart: Непрерывный дисплей для прерывистых данных

Кто-нибудь знает, как я могу показать это непрерывно? Не можете найти его в документации ... enter image description here

ответ

0

Хорошо, я нашел его. Для справки: Вместо того, чтобы добавлять 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; 
Смежные вопросы