Xcode 将CVS文件放入NSArray以使用核心绘图库进行绘图

Xcode 将CVS文件放入NSArray以使用核心绘图库进行绘图,xcode,excel,csv,nsarray,core-plot,Xcode,Excel,Csv,Nsarray,Core Plot,我试图用一个简单的excel csv文件和x和y值,并将其放入一个NSArray中,这样我就可以使用它来绘制一个使用core plot的散点图。我已经在这里设置了显示带有特定数据图的图形的代码: JACViewController.m #import "JACViewController.h" @implementation JACViewController @synthesize scatterPlot; - (void)viewWillAppear:(BOOL)animated { [s

我试图用一个简单的excel csv文件和x和y值,并将其放入一个NSArray中,这样我就可以使用它来绘制一个使用core plot的散点图。我已经在这里设置了显示带有特定数据图的图形的代码:

JACViewController.m

#import "JACViewController.h"
@implementation JACViewController
@synthesize scatterPlot;

- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];

NSMutableArray *data = [NSMutableArray array];
[data addObject:[NSValue valueWithCGPoint:CGPointMake(-10, 100)]];
[data addObject:[NSValue valueWithCGPoint:CGPointMake(-8, 50)]];
[data addObject:[NSValue valueWithCGPoint:CGPointMake(-6, 20)]];
[data addObject:[NSValue valueWithCGPoint:CGPointMake(-4, 10)]];
[data addObject:[NSValue valueWithCGPoint:CGPointMake(-2, 5)]];
[data addObject:[NSValue valueWithCGPoint:CGPointMake(0, 0)]];
[data addObject:[NSValue valueWithCGPoint:CGPointMake(2, 4)]];
[data addObject:[NSValue valueWithCGPoint:CGPointMake(4, 16)]];
[data addObject:[NSValue valueWithCGPoint:CGPointMake(6, 36)]];
[data addObject:[NSValue valueWithCGPoint:CGPointMake(8, 64)]];
[data addObject:[NSValue valueWithCGPoint:CGPointMake(10, 100)]];

self.scatterPlot = [[JACSimpleScatterPlot alloc] initWithHostingView:_graphHostingView andData:data];
[self.scatterPlot initialisePlot];
}

@end
但是现在我想使用一个来自excel的CSV文件,并显示我从那里得到的数据

Excel文件如下所示:


a1=“Data X”b1=“Data Y”a2:a8=(1,2,3,4,5,6,7)b2:b8=(10,20,30,40,50,60,70)

假设您的数据以UTF8文本形式导出。将CSV文档的URL传递到此调用中

你可以用

NSString*exceldata=[NSString stringwithcontentsofull:aurl编码:NSUTF8StringEncoding错误:&error]

要获取数据,请使用

NSArray*lines=[exceldata组件由字符分隔集:[NSCharacterSet-newlineCharacterSet]]

最后,每一行都可以用

NSMutableArray *plotdata = [NSMutableArray array];
for(NSString *line in lines)
{
NSArray *points = [line componentsSeparatedByString:@","];
CGFloat xpoint = [[points objectAtIndex:0] floatValue];
CGFloat ypoint = [[points objectAtIndex:1] floatValue];

[plotdata addObject:[NSValue valueWithCGPoint:CGPointMake(xpoint,ypoint)]];
}
这忽略了第0行是标题,空行或格式错误的行将使例程崩溃,但显示了需要执行的基本代码