У меня есть график рассеяния Core-Plot, который, кажется, работает отлично. Ось X показывает дату / время, ось Y - значение от 0 до 500. Я настроил ось х следующим образом:
plotSpace.xRange = [CPPlotRange plotRangeWithLocation:
CPDecimalFromFloat(maxTime - 2*60*60*24)
length:CPDecimalFromFloat(2.5*60*60*24)];
plotSpace.globalXRange = [CPPlotRange plotRangeWithLocation:
CPDecimalFromFloat(minTime - 1.5*60*60*24)
length:CPDecimalFromFloat(maxTime - minTime + 2*60*60*24)];
x.majorIntervalLength = CPDecimalFromFloat(12*60*60);
x.minorTicksPerInterval = 0;
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"M/d H:mm a"];
CPTimeFormatter *timeFormatter = [[[CPTimeFormatter alloc]
initWithDateFormatter:dateFormatter] autorelease];
timeFormatter.referenceDate = [NSDate
dateWithTimeIntervalSinceReferenceDate:0];
x.labelFormatter = timeFormatter;
Мои точки по оси X построены следующим образом:
-(NSNumber *)numberForPlot:(CPPlot *)plot
field:(NSUInteger)fieldEnum
recordIndex:(NSUInteger)index
{
if(fieldEnum == CPScatterPlotFieldX) {
return [NSNumber numberWithDouble:[[(Entry *)
[datapoints objectAtIndex:index] datetime]
timeIntervalSinceReferenceDate]];
}
Насколько я могу судить, все идет точно. НО, по какой-то причине, тики появляются в 5 утра и 5 вечера, а не в полдень и полночь, как я бы предпочел.
Я пробовал все - изменение местоположения и длины xRange и globalXRange, изменение набора данных и т. Д. Но каждый раз, когда ярлыки появляются в 5 и 5 часов утра. Вы можете помочь? Спасибо!