Я новичок в CorePlot и немного затрудняюсь понять «источник данных». Я уверен, что я, скорее всего, неправильно истолковал некоторые функции. Прямо сейчас, я пытаюсь отобразить 2 json-данных, которые я уже получил и сохранил в _soldarray
и _datearray
.Core Plot, построение диаграммы рассеяния с данными json.
пример данных, полученных (как это делается на NSLog):
_soldarray : {0, 0, 0, "62.69", "48.3", 81,}
_datearray : {("02/07/12", "02/10/12", "02/14/12", "02/11/12", "02/10/12", "02/12/12"}
и я
CPTPlotDataSource methods
-(NSUInteger)numberOfRecordsForPlot:(CPTPlot *)plot {
return [_soldarray count];
}
-(NSArray *)numberForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndexRange:(NSUInteger)index {
switch (fieldEnum) {
case CPTScatterPlotFieldX:
for (int i =0 ; 50;i++){
return [_datearray objectAtIndex:i];
}
break;
case CPTScatterPlotFieldY:
for (int j =0 ; 50;j++){
return [_soldarray objectAtIndex:j];
}
break;
}
return 0;
}
и, как для конфигурации:
CPTGraph *graph = self.hostView.hostedGraph;
CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *) graph.defaultPlotSpace;
// 2 - Create the three plots
CPTScatterPlot *aaplPlot = [[CPTScatterPlot alloc] init];
aaplPlot.dataSource = self;
aaplPlot.identifier = _soldarray;
CPTColor *aaplColor = [CPTColor redColor];
[graph addPlot:aaplPlot toPlotSpace:plotSpace];
Я попытался изменить данные к массиву, но это не работает. Может кто-то указать мне на правильные направления. У меня возникли проблемы с пониманием того, как plot.datasource и как работает индекс -(NSArray *)numberForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndexRange:(NSUInteger)
. Заранее спасибо!
привет, спасибо за помощь. он по-прежнему не является графическим. ты думаешь, мне нужно преобразовать свой массив в nsnumbers ?? – user3178926
У меня также есть CPTScatterPlot * aaplPlot = [[CPTScatterPlot alloc] init]; \t aaplPlot.dataSource = self; \t aaplPlot.identifier = _soldarray; Я не уверен, должен ли идентификатор быть массивом, потому что я не уверен, что на самом деле идентификатор и источник данных – user3178926
«Идентификатор» может быть почти любым объектом, хотя строки и номера являются наиболее распространенными. Он используется для однозначной идентификации сюжета в источнике данных и/или делегировании, когда вы используете один и тот же для нескольких сюжетов. Если ваш график имеет только один график, «идентификатор» является необязательным. –