gpt4 book ai didi

xcode - 核心图:x 轴上的日期错误

转载 作者:行者123 更新时间:2023-12-04 19:54:34 24 4
gpt4 key购买 nike

按照不同的教程,我已经使用 Core-Plot 成功地创建了一个散点图。现在,在 X 轴上设置日期我得到了完全错误的日期。我的图表的来源是一个包含字典的数组。在字典的每条记录中,字典的第一个键是 unix 时间戳,第二个键是要绘制的值。它看起来像这样:

    (
{
0 = 1334152500;
1 = 0;
},
{
0 = 1334152800;
1 = 0;
},
{
0 = 1334153100;
1 = 0;
},

AFAIK Core-Plot 需要一个开始日期和一个步骤。在这种情况下,开始日期为 1334152500(星期三,2012 年 4 月 11 日 13:55:00 GMT),步长为 300 秒。每 300 秒出现一个新值。现在我用来绘制 X 轴的代码:

// this string contains the first UNIX Timestamp registered
NSString *tstamp_start = [NSString stringWithFormat:@"%@", [[[self.graphData objectForKey:@"1"] objectAtIndex:0] objectForKey:@"0"]];
NSDate *refDate = [NSDate dateWithTimeIntervalSince1970:[tstamp_start doubleValue]];

// definition of the graph skipped...

CPTXYAxisSet *axisSet = (CPTXYAxisSet *)self.graph.axisSet;
// tInterval is previous set to 300 - float.
// here I should set the Interval between every value on graph...
axisSet.xAxis.majorIntervalLength = CPTDecimalFromFloat(tInterval);
axisSet.xAxis.axisLineStyle = axisLineStyle;
axisSet.xAxis.majorTickLineStyle = axisLineStyle;
axisSet.xAxis.minorTickLineStyle = axisLineStyle;
axisSet.xAxis.labelTextStyle = textStyle;
axisSet.xAxis.labelOffset = 3.0f;
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd/MM/yyyy hh:mma"];
CPTTimeFormatter *timeFormatter = [[CPTTimeFormatter alloc] initWithDateFormatter:dateFormatter];
timeFormatter.referenceDate = refDate;
axisSet.xAxis.labelFormatter = timeFormatter;
axisSet.xAxis.labelingPolicy = CPTAxisLabelingPolicyAutomatic;
axisSet.xAxis.orthogonalCoordinateDecimal = CPTDecimalFromFloat(yAxisMin);
(...)

该行已正确显示,但在 X 轴上我读取的值/标签如下:“22/07/2054 06:35AM”。 2054年?在不考虑时区(local +2,unix +0)和 CPTAxisLabelingPolicyAutomatic 的情况下,至少我应该读取当天 13:55 到现在之间的日期。我缺少什么?

非常感谢!

西蒙

最佳答案

referenceDate 是格式化时应用于每个数据点的偏移量。因此,第一个数据点的值翻倍了。您要么需要调整引用日期,要么将数据值更改为从 0 开始。

NSDate *refDate = [NSDate dateWithTimeIntervalSince1970:0.0];

关于xcode - 核心图:x 轴上的日期错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10111550/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com