我做了一些搜索,但没有发现有人尝试过类似的事情,所以我想我在这里问一下。我要做的基本上是创建一个图表,每隔 5 秒获取一次数据并绘制它。到目前为止,我所做的最好的事情是允许用户平移静态图的静态图。
我目前正试图达到我可以按下一个按钮的地步,它将根据 X 轴的稳定时间间隔和 Y 轴上从 1 到 100 的随机数在图表上创建一个新点。我正在尝试如何做到这一点如下:
@synthesize scatterPlot = _scatterPlot;
@synthesize statusLabel, data, isPlotting;
CGFloat xCoord;
- (void)startPlot:(id)sender {
if (isPlotting == FALSE) {
xCoord = 0;
}
if (isPlotting == TRUE)
{
statusLabel.text = @"Starting Plot";
xCoord += 5;
[data addObject:[NSValue valueWithCGPoint:CGPointMake(xCoord, (arc4random() % 100 + 1))]];
self.scatterPlot = [[TUTSimpleScatterPlot alloc] initWithHostingView:_graphHostingView andData:data];
[self.scatterPlot initialisePlot];
[NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(startPlot:) userInfo:nil repeats:NO];
}
}
- (void)endPlot:(id)sender {
statusLabel.text = @"Plotting Stopped";
isPlotting = FALSE;
}
这基本上是我尝试完成所描述任务的核心。这个想法是我按下调用startPlot并将isPlotting值设置为 true 的“开始”按钮,然后我将 xCoord 值增加任意 5,持续 5 秒,然后生成并添加我的新点到我的名为data的 NSMutableArray 数组。之后我重新初始化我的散点图并启动一个定时器休眠 5 秒并再次调用startPlot函数。
我遇到的问题是它要么没有更新,要么我得到一个没有点的空白 X 和 Y 轴。无论如何,我缺少一些我希望有人知道并可以帮助我的东西!
谢谢你!-卡罗利