我正在使用ios-chart(ios Charts)。我有一些值来显示xAxis,但是当我加载一种图形时,我只想要显示2或3个值。第一个,中间和最后一个值。
但如果值超过30 aprox,我最初只能显示1个值。
我认为我需要覆盖stringForValue函数,如何覆盖它以在结束时和开始时显示几乎一个值?
- (NSString *)stringForValue:(double)value
axis:(ChartAxisBase *)axis
我设置的值数组格式如下:
xValuess: (
"1",
"",
"",
"",
"65",
"",
"",
"",
"140"
)
但函数覆盖中收到的值类似于格式:0,50,100。我不知道如何获取xValues数组的concret值。
答案 0 :(得分:0)
1-首先,您需要添加< IChartValueFormatter >
2-然后你应该将 LineChartDataSet 的 valueFormatter 设置为 self
set1.valueFormatter = self;
3-最后,您可以从;
获取数据-(NSString *)stringForValue:(double)value entry:(ChartDataEntry *)entry dataSetIndex:(NSInteger)dataSetIndex viewPortHandler:(ChartViewPortHandler *)viewPortHandler{
if (entry.x == 0 || entry.x == myArray.count-1) {
NSInteger index = [NSNumber numberWithDouble:value].integerValue;
return [NSString stringWithFormat:@"%ld",(long)index];
} else {
return @"";
}
}
我希望它有所帮助。