每5秒刷新AAChartModel時無法加載圖表
### 當我在嘗試用infinite while loop 做出實時刷新的圖表時,圖表無法加載,跪求大大們的協助, 以下是我的code:
-
(void)viewDidLoad { [super viewDidLoad]; // NSTimeInterval time=[date timeIntervalSince1970];// *1000 是精确到毫秒,不乘就是精确到秒 // NSString *timeString = [NSString stringWithFormat:@"%.0f", time];
[self initDate]; //self.view.frame.size.height - 250; CGFloat chartViewWidth = self.view.frame.size.width; CGFloat chartViewHeight = self.view.frame.size.height; _aaChartView = [[AAChartView alloc]init]; // _aaChartView.frame = CGRectMake(0, 60, chartViewWidth, chartViewHeight); _aaChartView.frame = CGRectMake(50, 200, chartViewWidth-100, chartViewHeight-250); _aaChartView.scrollEnabled = NO; [self.view addSubview:_aaChartView];
AAChartModel *aaChartModel = AAChartModel.new .chartTypeSet(AAChartTypeArea) .titleSet(@"THE HEAT OF PROGRAMMING LANGUAGE") .subtitleSet(@"Virtual Data") .categoriesSet(@[self.na4,self.na3,self.na2,self.na1, self.na]) .yAxisTitleSet(@"Degrees Celsius") .seriesSet(@[
AASeriesElement.new .nameSet(@"2017") // .dataSet(array), .dataSet(@[@7.0, @6.9, @9.5, @14.5, @18.2]), ]);[_aaChartView aa_drawChartWithChartModel:aaChartModel];
// NSNumber *I = [NSNumber numberWithFloat:i];
[self updateValue]; [self initButton];
} -(void)updateValue{ // update values every 5 seconds
while(true){
float rndValue1 = (((float)arc4random()/0x100000000)*47);
float rndValue2 = (((float)arc4random()/0x100000000)*47);
float rndValue3 = (((float)arc4random()/0x100000000)*47);
float rndValue4 = (((float)arc4random()/0x100000000)*47);
float rndValue5 = (((float)arc4random()/0x100000000)*47);
NSNumber *value6 = [NSNumber numberWithFloat:rndValue1];
NSNumber *value7 = [NSNumber numberWithFloat:rndValue2];
NSNumber *value8 = [NSNumber numberWithFloat:rndValue3];
NSNumber *value9 = [NSNumber numberWithFloat:rndValue4];
NSNumber *value10 = [NSNumber numberWithFloat:rndValue5];
NSMutableArray *newArray = [[NSMutableArray alloc]initWithObjects: value6 ,value7,value8, value9,value10, nil];
AAChartModel *aaChartModel2 = AAChartModel.new
.chartTypeSet(AAChartTypeArea)
.titleSet(@"THE HEAT OF PROGRAMMING LANGUAGE")
.subtitleSet(@"Virtual Data")
.categoriesSet(@[@"1",@"2",@"3",@"4", @"5",@"6",@"7",@"C#",@"C++"])
.yAxisTitleSet(@"Degrees Celsius")
.seriesSet(@[
AASeriesElement.new
.nameSet(@"2018")
// .dataSet(array),
.dataSet(newArray),
]);
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [self->_aaChartView aa_refreshChartWithChartModel:aaChartModel2];});
// [self increment];
} }
以下是我的 console log: 2020-12-26 15:27:22.832082+0800 data_test[38663:1161019] ----------- console log AAOptions JSON information of AAChartView -----------: { "credits" : { "enabled" : false }, "subtitle" : { "align" : "left", "text" : "Virtual Data", "style" : {
}
}, "touchEventEnabled" : false, "chart" : { "polar" : false, "type" : "area", "inverted" : false, "pinchType" : "none", "panning" : true }, "tooltip" : { "shadow" : true, "useHTML" : false, "crosshairs" : true, "shared" : true, "animation" : true, "followTouchMove" : true, "enabled" : true }, "xAxis" : { "categories" : [ "15:27:18", "15:27:19", "15:27:20", "15:27:21", "15:27:22" ], "labels" : { "style" : {
},
"useHTML" : false,
"enabled" : true
},
"tickInterval" : 1,
"opposite" : false,
"tickmarkPlacement" : "on",
"reversed" : false,
"visible" : true,
"startOnTick" : false,
"endOnTick" : false
}, "plotOptions" : { "series" : { "connectNulls" : false, "stacking" : "", "marker" : { "radius" : 5, "enabled" : true }, "dataLabels" : { "softConnector" : true, "allowOverlap" : false, "useHTML" : false, "inside" : false, "enabled" : false, "crop" : false } } }, "series" : [ { "allowPointSelect" : false, "showInLegend" : true, "data" : [ 7, 6.9000000000000004, 9.5, 14.5, 18.199999999999999 ], "visible" : true, "name" : "2017" } ], "title" : { "style" : {
},
"useHTML" : false,
"text" : "THE HEAT OF PROGRAMMING LANGUAGE"
}, "colors" : [ "#1e90ff", "#ef476f", "#ffd066", "#04d69f", "#25547c" ], "yAxis" : { "lineWidth" : 0.5, "labels" : { "style" : {
},
"useHTML" : false,
"enabled" : true,
"format" : "{value:.,0f}"
},
"title" : {
"text" : "Degrees Celsius"
},
"opposite" : false,
"reversed" : false,
"allowDecimals" : true,
"visible" : true,
"startOnTick" : false,
"endOnTick" : false
}, "legend" : { "enabled" : true, "floating" : false } }
如何使用Scroll update chart data 的method實現上述效果,求大大解答