Подобно приложению Health в iOS 8, где нулевые / пустые точки данных не отображаются, а метки оси X все еще присутствуют. Можно ли добиться того же, используя iOS-Charts в качестве библиотеки диаграмм для моего проекта?
Нулевые точки данных iOS-Charts не отображаются на диаграмме
Ответы (4)
Вы не должны передавать nil, он не принимает nil, и Xcode предупредит об этом. Что вам нужно сделать, это просто не пройти его вообще.
Необязательно передавать значение y для каждого индекса x. Вам просто нужно убедиться, что значения y упорядочены в соответствии с индексами x.
Этого можно добиться с помощью iOS-Charts. В настоящее время я работаю над проектом, который требует нескольких различных линейных диаграмм, нескольких столбчатых диаграмм и линейных диаграмм. Даже если у меня есть нулевые значения, метки оси X все еще там. Вы можете спросить меня, есть ли у вас сомнения.
Вот функция, которую я написал на основе ответа daniel.gindi (я передаю NaN для пустых записей в массиве значений):
func populateLineChartView(lineChartView: LineChartView, labels: [String], values: [Float]) {
var dataEntries: [ChartDataEntry] = []
for i in 0..<labels.count {
if !values[i].isNaN {
let dataEntry = ChartDataEntry(value: Double(values[i]), xIndex: i)
dataEntries.append(dataEntry)
}
}
let lineChartDataSet = LineChartDataSet(yVals: dataEntries, label: "Label")
let lineChartData = LineChartData(xVals: labels, dataSet: lineChartDataSet)
lineChartView.data = lineChartData
}
Вы можете использовать максимальную ось, поэтому даже если у вас нет ChartDataEntry для этих событий, он все равно будет отображаться
chartView.xAxis.axisMaximum = 60
chartView.xAxis.axisMaximum = 90