Я пытаюсь построить точки на lineChartView
классе. Затем я нанес на него данные, но вижу очень забавную вещь. Второй сюжет помечен, но не первый.
![enter image description here](https://i.stack.imgur.com/kRwbe.png)
Я настраиваю LineChartView
экземпляр и назвал его lineChart
:
var lineChart: LineChartView = {
var l = LineChartView()
l.translatesAutoresizingMaskIntoConstraints = false
l.backgroundColor = .white
return l
}()
lineChartDataPoints
содержит ChartDataEntry
классов, которые содержат значения x
и y
:
var lineChartDataPoints: [ChartDataEntry] = []
Я перебираю xData и добавляю ChartDataEntry
класс к lineChartDataPoints
. xData
и yData
переменная содержит значения x
и y
: (которая генерируется в другой функции и не является предметом этого вопроса)
for i in 0..<xData.count {
let data = ChartDataEntry(x: Double(i + 1), y: Double(yData[i])!)
lineChartDataPoints.append(data)
}
Затем я добавляю lineChartDataPoints
к LineChartDataSet
:
let lineDataSet = LineChartDataSet(values: lineChartDataPoints, label: "Values")
Затем lineDataSet
добавляется к lineData
после установки параметров.
lineDataSet.colors = [UIColor.red]
lineDataSet.lineWidth = 5
lineDataSet.circleColors = [UIColor.blue]
lineDataSet.circleRadius = 5
lineData.addDataSet(lineDataSet)
И это, очевидно, не потому, что есть только одна точка. Потому что я попробовал это:
print("data \(lineChartDataPoints)")
// data [ChartDataEntry, x: 1.0, y 1.0, ChartDataEntry, x: 6.0, y 1.0]
Определенно есть две точки для отображения графика, но я довольно озадачен тем, почему первая точка не будет помечена синей точкой, как вторая точка.