Как настроить ось Y диаграмм iOS с минимальным, максимальным значением и фиксированным шагом между линиями сетки?

Я только учусь использовать ios-charts. Мне нравится изменять сетку оси X на фиксированные значения. Мои нанесенные на график значения y представляют собой просто целые числа, такие как 1, 2, 3,..., 10. Тем не менее, левая ось y показывает значения, такие как 6,3, 9,1 и т. д., в зависимости от моего уровня масштабирования. Второй вопрос: как настроить ось X, чтобы отображались метки 1,5,10,15,....40?

Есть ли способ повлиять на размер шага, например, например. в Экселе?

// zoom y-axis to min/max value
lineChart.leftAxis.customAxisMin = max(0.0, lineChart.data!.yMin - 1.0)
lineChart.leftAxis.customAxisMax = min(10.0, lineChart.data!.yMax + 1.0)
lineChart.leftAxis.startAtZeroEnabled = false

Диаграмма (минимум = 6,0 и максимум = 10,0): сетка начинается с 6,3 вместо 6,0.

введите здесь описание изображения

Диаграмма (минимум = 7,0 и максимум = 10,0): сетка начинается, как и ожидалось, с 7,0.

введите здесь описание изображения

Что здесь не так?


person Morpheus78    schedule 19.07.2015    source источник


Ответы (2)


Я решил проблему, просто установив правильный labelCount.

// zoom y-axis to min/max value
lineChart.leftAxis.customAxisMin = max(0.0, lineChart.data!.yMin - 1.0)
lineChart.leftAxis.customAxisMax = min(10.0, lineChart.data!.yMax + 1.0)
lineChart.leftAxis.labelCount = Int(lineChart.leftAxis.customAxisMax lineChart.leftAxis.customAxisMin)
lineChart.leftAxis.startAtZeroEnabled = false
person Morpheus78    schedule 19.07.2015
comment
Спасибо, что опубликовали это и ответили на свой вопрос, это действительно помогло мне и могло бы быть немного больше документации в примерах! Для информации, мой график отображает температуру, поэтому я хочу, чтобы ось Y показывала только 10ºC, 20ºC и 30ºC. - person Litome; 22.10.2015
comment
Возможно, вы также решили свой второй вопрос: второй вопрос: как настроить ось x, чтобы отображались метки 1,5,10,15,....40? Я показываю время на оси x и хотел бы метку каждые 2 часа, например: 2:00, 4:00, 6:00, 8:00, 10:00, полдень, 14:00, 16:00, 18:00, 20:00, 22:00, полночь... - person Litome; 22.10.2015
comment
Значения x являются строкой. Таким образом, вы можете отформатировать любую строку и добавить ее в массив значений x. - person Morpheus78; 15.11.2015

Swift 4.2 и выше:

startAtZeroEnabled — это свойство устарело — используйте вместо него axisMinimum.

 open var axisMinValue: Double
     {
     get { return axisMinimum }
     set { axisMinimum = newValue }
 }
lineChartView.leftAxis.axisMinimum = 0
lineChartView.leftAxis.axisMaximum = 10.0
person Pravalika    schedule 24.02.2020