У меня есть библиотека Daniel Chart. Я хочу показать значение xAxis на простом графике из-за изменения в новой библиотеке, которая не может установить xValues, ниже - это предыдущий код для установки xValues в качестве строки, но в последней код не может установить такой же.Как установить X-значения в виде диаграммы по оси X с помощью диаграммы Daniel?
Старый код: Проверьте последнюю строку установить т.е. barchartdata с xValues.
- (void)setDataCount:(int)count range:(float)range
{
NSArray *tempXvals = [self.graphDict valueForKey:@"xVals"];
NSArray *xvals = [[tempXvals reverseObjectEnumerator]allObjects];
NSMutableArray *xVals;
if ([xvals count]>0) {
xVals = [[NSMutableArray alloc] initWithArray:xvals];
}
else
{
xVals = [[NSMutableArray alloc] init];
}
NSArray *tempYvals = [self.graphDict valueForKey:@"yVals"];
NSArray *yvals = [[tempYvals reverseObjectEnumerator]allObjects];
NSMutableArray *yVals = [[NSMutableArray alloc] init];
int xValsCount = [xVals count];
for (int i = 0; i < xValsCount; i++)
{
int val = [[yvals objectAtIndex:i]integerValue];
[yVals addObject:[[BarChartDataEntry alloc]initWithValue:(val) xIndex:i]];
}
NSString *graphTitle = [self.graphDict valueForKey:@"title"];
BarChartDataSet *set1;
if (graphTitle != nil) {
set1 = [[BarChartDataSet alloc] initWithYVals:yVals label:graphTitle];
}
graphTitle = nil;
NSMutableArray *dataSets = [[NSMutableArray alloc]init];
[dataSets addObject:set1];
NSNumberFormatter *formatter = [[NSNumberFormatter alloc]init];
formatter.minimumFractionDigits = 0;
BarChartData *data = [[BarChartData alloc] initWithXVals:xVals dataSets:dataSets];
Новый код: В новой библиотеке только наборы данных use.but как пройти xvalues.
- (void)setDataCount:(int)count range:(double)range
{
double start = 1.0;
NSMutableArray *yVals = [[NSMutableArray alloc] init];
for (int i = start; i < start + count + 1; i++)
{
double mult = (range + 1);
double val = (double) (arc4random_uniform(mult));
[yVals addObject:[[BarChartDataEntry alloc] initWithX:(double)i y:val]];
}
BarChartDataSet *set1 = nil;
if (_chartView.data.dataSetCount > 0)
{
set1 = (BarChartDataSet *)_chartView.data.dataSets[0];
set1.values = yVals;
[_chartView.data notifyDataChanged];
[_chartView notifyDataSetChanged];
}
else
{
set1 = [[BarChartDataSet alloc] initWithValues:yVals label:@"The year 2017"];
[set1 setColors:ChartColorTemplates.material];
NSMutableArray *dataSets = [[NSMutableArray alloc] init];
[dataSets addObject:set1];
BarChartData *data = [[BarChartData alloc] initWithDataSets:dataSets];
[data setValueFont:[UIFont fontWithName:@"HelveticaNeue-Light" size:10.f]];
data.barWidth = 0.9f;
_chartView.data = data;
}
}
Передаю то же самое, но он дает результат, другой вид вопроса обновления Я предоставляю ссылку там. – ashmi123