Closed owenzhao closed 2 years ago
The BarChartData
should remain constant - don't replace it, update the data points / data sets.
When BarChartData
get initialised a UUID
gets set which holds the state together. I think this might be the cause.
The
BarChartData
should remain constant - don't replace it, update the data points / data sets.When
BarChartData
get initialised aUUID
gets set which holds the state together. I think this might be the cause.
Thanks. The issue disappeared with code:
private func changeMaxBarNumber() {
let maxBarNumber = Int.random(in: 10...20)
var points = data!.dataSets.dataPoints.filter { $0.value != 0 }
let count = points.count
guard let data = data else {
fatalError()
}
if count < maxBarNumber {
let emptyPoints = (1...(maxBarNumber - count)).map { _ in getEmptyPoint() }
points.insert(contentsOf: emptyPoints, at: 0)
// data = BarChartData(dataSets: BarDataSet(dataPoints: points),
// barStyle: data!.barStyle)
data.dataSets = BarDataSet(dataPoints: points)
} else {
// data = BarChartData(dataSets: BarDataSet(dataPoints: Array(points[(count - maxBarNumber)...])),
// barStyle: data!.barStyle)
data.dataSets = BarDataSet(dataPoints: Array(points[(count - maxBarNumber)...]))
}
}
When running, sometimes the xAxisLabels disappeared. Any idea why this happened?
https://user-images.githubusercontent.com/2182896/166390706-55489d46-8d18-42a7-9ae5-1370570039ef.mov