CorePlot:xAxis NSDateFormatter麻烦

时间:2013-04-04 23:00:39

标签: ios objective-c xcode core-plot

我正在使用coreplot创建一个应用程序,并试图让我的标签沿着Xaxis读取下午12点,下午1点,下午2点等。我已经成功地将NSDateFormatter实现到xAxis.label格式化程序中。

问题是,间隔似乎是以秒为单位(见下图)我需要它们在几个小时内。

enter image description here

我尝试通过制作xAxis.majorIntervalLength 3600来解决这个问题,但这只是使图形看起来像这样:

enter image description here

蜱虫在那里,但现在他们只是被放置3600分开,如果这是有道理的。这是我的代码:

CPTXYAxisSet *faxisSet = (CPTXYAxisSet *)self.graph.axisSet;

    faxisSet.xAxis.title = @"Time";
    faxisSet.xAxis.titleTextStyle = textStyle;
    faxisSet.xAxis.titleOffset = 30.0f;
    faxisSet.xAxis.axisLineStyle = axislineStyle;
    faxisSet.xAxis.majorTickLineStyle = axislineStyle;
    faxisSet.xAxis.minorTickLineStyle = axislineStyle;
    faxisSet.xAxis.labelTextStyle = textStyle;
    faxisSet.xAxis.labelOffset = 3.0f;
    faxisSet.xAxis.majorIntervalLength = CPTDecimalFromFloat(3600.0f);
    faxisSet.xAxis.minorTicksPerInterval = 1;
    faxisSet.xAxis.minorTickLength = 5.0f;
    faxisSet.xAxis.majorTickLength = 7.0f;
NSString *dats1 = @"16";
    NSDateFormatter *dateFormatter3 = [[[NSDateFormatter alloc] init] autorelease];
    [dateFormatter3 setDateStyle:NSDateFormatterMediumStyle];
    [dateFormatter3 setDateFormat:@"hh:mm:ss a"];
    CPTTimeFormatter *timeFormatter  =   [[CPTTimeFormatter alloc]initWithDateFormatter:dateFormatter3];
    timeFormatter.referenceDate =   [dateFormatter3 dateFromString:dats1];
    faxisSet.xAxis.labelFormatter    =   timeFormatter;

基本上,我希望每隔一个刻度标记阅读时间,但我希望它们保持相同的距离。

感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:1)

查看CPTCalendarFormatter。它按单位间隔(例如,小时)而不是像CPTTimeFormatter这样的时间值来格式化日期。