define steps of 250 to leftAxis using iOS-charts

66 Views Asked by At

I am trying to create a line chart using the danielgindi/ios-charts library. enter image description here

This works quite well so far. However, I cannot set the values on the left axis in 250 steps as desired.You can see my last attempt here:

ChartYAxis *leftAxis = self.lineChartView.leftAxis;
leftAxis.labelTextColor = [UIColor colorNamed:@"ColorGraphSD"];
leftAxis.axisMinimum = 0;
leftAxis.axisMaximum = ceil(maxValue / 250.0) * 250;
leftAxis.drawGridLinesEnabled = YES;
leftAxis.drawZeroLineEnabled = NO;
leftAxis.granularityEnabled = NO;
leftAxis.granularity = .1;
leftAxis.axisRange = 250;
leftAxis.labelCount = ceil(maxValue / 250.0);

Debugger tells me leftAxis.labelCount = 8; and leftAxis.axisMaximum = 2000;

All I want is a line at 250,500,750....

How to do that?

1

There are 1 best solutions below

0
DonMag On BEST ANSWER

You need 9 labels, not 8, because you need to include the Zero label.

Also, setting .granularity = 250.0; will give you "steps" at 250 increments.

Example:

ChartYAxis *leftAxis = _chartView.leftAxis;
leftAxis.labelFont = [UIFont systemFontOfSize:10.f];
leftAxis.labelPosition = YAxisLabelPositionOutsideChart;
leftAxis.axisMinimum = 0.0;
leftAxis.axisMaximum = 2000.0;

// use .granularity
leftAxis.granularity = 250.0;

// we need 9 labels to include the Zero label
leftAxis.labelCount = 9;

Output:

enter image description here