我希望使用coreplot在iPhone上绘制一个XY图,其中x轴是日期,y轴是一些值。参考coreplot SDK中提供的DatePlot例子,我已经可以在月度尺度上(即x轴范围从该月的第1天到最后一天)绘制具有日期的图表。现在我想要一个年度尺度,即想要在x轴上显示所有月份名称(Jan,Feb,Mar等),并将我的刻度间隔作为一个月的时间。
我使用以下代码来以月度尺度显示值:
现在,对于年度模式,x轴刻度间隔需要为一个月。我尝试了下面的代码,但没有成功。
我使用以下代码来以月度尺度显示值:
oneXUnit = 60 * 60 * 24;
x.majorIntervalLength = CPDecimalFromFloat((float) oneXUnit);
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init]autorelease];
NSString *dateString = @"0";
[dateFormatter setDateFormat:@"MM"];
CPTimeFormatter *timeFormatter = [[CPTimeFormatter alloc]initWithDateFormatter:dateFormatter];
timeFormatter.referenceDate = [dateFormatter dateFromString:dateString];
x.labelFormatter = timeFormatter;
现在,对于年度模式,x轴刻度间隔需要为一个月。我尝试了下面的代码,但没有成功。
oneXUnit = 60 * 60 * 24 * 30;
x.majorIntervalLength = CPDecimalFromFloat((float) oneXUnit);
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init]autorelease];
NSString *dateString = @"Jan";
[dateFormatter setDateFormat:@"MMM"];
CPTimeFormatter *timeFormatter = [[CPTimeFormatter alloc]initWithDateFormatter:dateFormatter];
timeFormatter.referenceDate = [dateFormatter dateFromString:dateString];
x.labelFormatter = timeFormatter;
我认为这个逻辑失败了,因为每个月的天数不同。现在月份显示在x轴上,但它显示为
Jan,Mar,April,May,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec。
您可以看到没有二月,并且五月有两个条目。我的刻度间隔如何与每个月的天数相关联。有什么解决方案吗? 谢谢和问候,