2015-07-28 81 views
0

我想在iOS中绘制折线图。为此我编码如下。我正在使用PCLineChartViewiOS中的实时折线图

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    // Creating a LineChart View 

    PCLineChartView *lineChartView = [[PCLineChartView alloc]initWithFrame:CGRectMake(10, 10, [self.view bounds].size.width-20, [self.view bounds].size.height-20)]; 
    [lineChartView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight]; 
    lineChartView.minValue = 0; 
    lineChartView.maxValue = 100; 
    [self.view addSubview:lineChartView]; 

    //Associating Data with Line Chart 

    NSMutableArray *components = [NSMutableArray array]; 
    NSMutableDictionary *result = [self getGraphData]; 
    NSMutableArray *data = [result valueForKey:@"data"]; 

    for (NSDictionary *graphInfo in data) { 
     PCLineChartViewComponent *component = [[PCLineChartViewComponent alloc]init]; 
     [component setTitle:@"title"]; 
     [component setPoints:graphInfo [@"data"]]; 
     [component setShouldLabelValues:NO]; 
     [component setColour:PCColorRed]; 
     [components addObject:component]; 
    } 

    [lineChartView setComponents:components]; 
    [lineChartView setXLabels:[result valueForKey:@"xLabels"]]; 

    // Do any additional setup after loading the view, typically from a nib. 
} 

在上面的代码中,我采用了已经生成的数据集。但问题是数据是一个实时流。我想在折线图上显示实时流数据。请告诉我如何继续。我是一个新手。谢谢。

回答

0

您可以像创建一个NSTimer:

[NSTimer scheduledTimerWithTimeInterval:2.0 
    target:self 
    selector:@selector(targetMethod:) 
    userInfo:nil 
    repeats:YES]; 

然后根据您的区间的速率,计时器会触发“targetMethod:”

然后,您可以在您更新线路图“targetMethod:”

希望这会有所帮助!