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

问题描述 投票:0回答:1

我试图在lineChartView类上绘制点。然后我在其上绘制了数据,但我看到了一个非常有趣的事情。第二个图是标记的,但不是第一个图。

enter image description here

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

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

lineChartDataPoints持有ChartDataEntry类,其中包含xy值:

var lineChartDataPoints: [ChartDataEntry] = []

我循环遍历xData并将ChartDataEntry类附加到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]

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

ios swift ios-charts
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.