为什么只有第一个图没有标记形状,这与图中的其他图不同?

Why only first plot is not labeled with a shape, unlike the rest of plots in the graph?

我正在尝试在 lineChartView class 上绘制点。然后我在上面绘制了数据,但我看到了一件非常有趣的事情。第二个图被标记了,但第一个没有。

我正在设置 LineChartView 实例并将其命名为 lineChart:

var lineChart: LineChartView = {
   var l = LineChartView()
    l.translatesAutoresizingMaskIntoConstraints = false
    l.backgroundColor = .white
    return l
}()

lineChartDataPoints 包含 ChartDataEntry classes,其中包含 xy 值:

var lineChartDataPoints: [ChartDataEntry] = []

我遍历 xData 并将 ChartDataEntry class 附加到 lineChartDataPointsxDatayData 变量保存 xy 值:(这是在其他函数中生成的,并不是这个问题的重点)

 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]

肯定有两个点供图形显示,但我很困惑为什么第一个点不会像第二个点那样用蓝点标记。

在为 Swift 5 安装新的图表框架(版本 3.2)之前,我没有遇到这个问题。图表框架需要进行一些调整。安装最新补丁 (3.3) 已解决此问题。所以更新到这个框架的最新版本可以避免这个问题。