이 Answer (swift version)의 도움으로 막대 차트에 xAxis 문자열 값을 Objective-C
에 표시 할 수 있습니다.
NSMutableArray *xValsDietArray;
차트 데이터를 설정하십시오. 다음과 같이 기본 예입니다 : - 다음과 같이
for (int i=0; i<dietArray.count; i++) {
DietInput *obj = [dietArray objectAtIndex:i];
NSString *dateStr = @"Jan";
[xValsDietArray addObject:dateStr];//Maintain this xValsDietArray. It will be used later on while setting x values. This contains array of x-axis values
[yvals addObject:[[BarChartDataEntry alloc]initWithX:[[xValsDietArray objectAtIndex:i] doubleValue] y:obj.calorieInput.doubleValue data:xValsDietArray] ];
}
BarChartDataSet *set1 = [[BarChartDataSet alloc] initWithValues:yvals label:@"Water Consumed"];
NSMutableArray *dataSets = [[NSMutableArray alloc] init];
[dataSets addObject:set1];
BarChartData *data = [[BarChartData alloc] initWithDataSets:dataSets];
cell.chartView.data=data;
cell.chartView.xAxis.valueFormatter = self;// Set the delegate to self. THIS IS THE MAIN ADDITION IN NEW CHART LIBRARY
는 stringForValue
대리자 메서드를 구현 : -
- (NSString * _Nonnull)stringForValue:(double)value axis:(ChartAxisBase * _Nullable)axis
{
NSString *xAxisStringValue = @"";
int myInt = (int)value;
if(xValsDietArray.count > myInt)
xAxisStringValue = [xValsDietArray objectAtIndex:myInt];
return xAxisStringValue;
}
당신이 x 축에 표시 할 필요가 당신이 나를 알 수 있습니까? 또는 당신이 달성하려고하는 스크린 샷을 제공하여 적절한 아이디어를 얻을 수 있습니까? – CodeChanger
x 값은'IAxisValueFormatter'와 그것의 델리게이트 메소드'stringForValue'에 의해 표시된다는 것을 알게되었습니다. 내 viewController IAxisValueFormatter 사용하려고하면 다음 오류가 발생합니다 : -'프로토콜 선언을 찾을 수 없습니다'. [이 답변] (http://stackoverflow.com/a/39149070/988169) 신속하게 작업하는 동안 접근 방식을 공유했습니다. 당신은 나에게 객관적으로 c라고 말할 수 있습니까? – pkc456