我有一个Core-Plot散点图似乎工作得很好。 x轴显示日期/时间,y轴显示0-500的值。我按如下方式设置x轴:
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点。你能帮我吗?谢谢!
答案 0 :(得分:3)
5小时听起来像是时区问题。尝试将dateFormatter上的timeZone
属性设置为[NSDateFormatter timeZoneForSecondsFromGMT:0]
。