使用Coreplot绘制数据图

时间:2012-11-05 13:53:47

标签: ios graph nsarray nsdictionary core-plot

我正在使用Coreplot,我需要帮助在图表上绘制数据。

我用字典数据填充了一个名为 results 的数组。它的内容输出如下(为简单起见,我缩短了数据) -

{
   temperature = "5.0832667,5.2916833,4.6418246"; 
   windspeed = "2.333,2.521,2.021,1.833,1.292,1.167";
}

我无法使用 numberForPlot 方法绘制此数据。这是我到目前为止所做的。下面是尝试仅绘制'温度'数据 -

-(NSNumber *)numberForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index;

        return [results valueForKey:@"temperature"];
{

我猜这与我创建字典的方式有关,因为它们是字符串,需要NSNumbers吗?另外需要注意的是,这是创建字典的代码 -

for(counter = 0; counter < [node childCount]; counter++) {

    [item setObject:[[node childAtIndex:counter] stringValue] forKey:[[node childAtIndex:counter] name]];

}

[results addObject:item];

任何帮助都会非常感激,因为我一直试图让这个工作好几天了!感谢

1 个答案:

答案 0 :(得分:0)

每种绘图类型使用不同的“字段”来请求绘图数据。例如,散点图使用CPTScatterPlotFieldX请求x值,CPTScatterPlotFieldY请求y值。

-numberOfRecordsForPlot:方法告诉Core Plot可以为绘图提供多少数据点。对于每个索引的每个字段值,-numberForPlot:field:recordIndex:方法将被调用一次,范围为0到(n - 1)。

Core Plot附带了很多示例应用程序。查看其中任何一个,了解如何设置数据源。