iOS: Shinobi Chart: 不连续数据的连续显示

iOS: ShinobiChart: Continious display for discontinuous data

我正在使用 ShinobiChart 绘制烛台股票图表。 我的数据是不连续的,所以图表上会有空隙。

有人知道我怎样才能让它连续显示吗?在文档中找不到它...

好的,我找到了。供你参考: 您应该添加 SChartDiscontiniousDateTimeAxis 而不是添加 SChartDateTimeAxis

然后对于数据系列中的任何间隙,您必须使用 addExcludedTimePeriod: 明确排除时间段。 (您可以检查第二天是否与数据系列中的下一个日期相同)。

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;