0

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

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

在此处输入图像描述

我试图通过将 xAxis.majorIntervalLength 设置为 3600 来解决此问题,但这只会使图表看起来像这样:

在此处输入图像描述

刻度仍然存在,但现在它们只是分开放置 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;

基本上,我希望每隔一个刻度线读取几个小时,但我希望它们保持相同的距离。

我会很感激任何帮助,谢谢!

4

1 回答 1

1

查看CPTCalendarFormatter。它按单位间隔(例如,小时)而不是像CPTTimeFormatter.

于 2013-04-05T00:36:44.687 回答