如何在图表目标c中显示第一个和最终值?

时间:2016-11-03 19:45:40

标签: ios objective-c charts ios-charts

我正在使用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值。

1 个答案:

答案 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 @"";
}
}

我希望它有所帮助。