この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