Hi,
I tried to get a weekly xAxis working for the TKChartDateTimeAxis,
hence I modified the DateTimeAxis example kindly provided by Telerik.
But there don't seem to be any labels for the interval 'weeks'. Labels for intervals 'month' or
'day' work fine.
Do I need to modify the supplied data to match specific dates?
Is this a bug? Is there any better documentation than this http://docs.telerik.com/devtools/ios/Chart/Axes/datetime ?
I realize that I could use the CategoryAxis and do everything myself, but then
I would need to fill up my data with a lot of zeros since it is sparse.
System:
- Target iOS 7
- iOS SDK 8.2
- Xcode 6.2
- Telerik UI for iOS Q1 2015
Modified example code (one liner in DateTimeAxis.m):
- (void)viewDidLoad
{
[super viewDidLoad];
_chart = [[TKChart alloc] initWithFrame:[self exampleBounds]];
_chart.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[self.view addSubview:_chart];
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dateTimeComponents = [[NSDateComponents alloc] init];
dateTimeComponents.year = 2013;
dateTimeComponents.day = 1;
NSMutableArray *array = [[NSMutableArray alloc] init];
for (int i = 1; i <= 6; i++) {
dateTimeComponents.month = i;
[array addObject:[[TKChartDataPoint alloc] initWithX:[calendar dateFromComponents:dateTimeComponents] Y:@(arc4random() % 100)]];
}
TKChartSplineAreaSeries *series = [[TKChartSplineAreaSeries alloc] initWithItems:array];
series.selectionMode = TKChartSeriesSelectionModeSeries;
dateTimeComponents.month = 1;
NSDate *minDate = [calendar dateFromComponents:dateTimeComponents];
dateTimeComponents.month = 6;
NSDate *maxDate = [calendar dateFromComponents:dateTimeComponents];
TKChartDateTimeAxis *xAxis = [[TKChartDateTimeAxis alloc] initWithMinimumDate:minDate andMaximumDate:maxDate];
xAxis.majorTickIntervalUnit = TKChartDateTimeAxisIntervalUnitWeeks; //TKChartDateTimeAxisIntervalUnitMonths;
xAxis.majorTickInterval = 1;
_chart.xAxis = xAxis;
[_chart addSeries:series];
}