Jonas
Jonas

Reputation: 1234

IOS-Charts set maximum visible x axis values

I'm using ios-charts (https://github.com/danielgindi/Charts). I have a LineChartView with 12 values in the x axis. This however is far too many to see at the same time, so I want to display only 5 and then let the user drag to the right to see the next.

enter image description here

I've tried this:

    let chart = LineChartView()
    chart.dragEnabled = true
    chart.setVisibleXRangeMaximum(5)

    let xAxis = chart.xAxis
    xAxis.axisMinValue = 0
    xAxis.axisMaxValue = 5.0
    xAxis.setLabelsToSkip(0)

But still see all 11 values at the time. How can I only see 5?

Upvotes: 12

Views: 11099

Answers (3)

Energy
Energy

Reputation: 958

Here is my finding!!

  1. you don't need to really use label count if you are using DefaultAxisValueFormatter, NEVER use this. a lot of errors pop ! just use no2.

  2. chart.setVisibleXRangeMaximum(number) will do. please put this after chart data setting here you can see detail

    combinedChartView.data = combineData. //this need to come first
    combinedChartView.setVisibleXRangeMaximum(2) //after data setting
    

Upvotes: 0

Y.Bi
Y.Bi

Reputation: 667

You should set the X axis's labelCount property of the chart view. In objc,like this

_chartView.xAxis.labelCount = 5;

Swift

chartView.xAxis.labelCount = 5

Upvotes: 8

Jonas
Jonas

Reputation: 1234

I finally got it!

The correct answer is:

chart.setVisibleXRangeMaximum(5)

This however needs to be set after the data has been set in the chart (not in a configure before)

This did the trick for me

Upvotes: 15

Related Questions