Я пытаюсь нарисовать круг, используя LineChartView, используя Диаграммы, у меня не было проблем с этим с помощью параболы, но когда я пробую круг, я получаю
Error: this application, or a library it uses, has passed an invalid numeric value (NaN, or not-a-number) to CoreGraphics API and this value is being ignored. Please fix this problem.
и
If you want to see the backtrace, please set CG_NUMERICS_SHOW_BACKTRACE environmental variable.
Странная вещь, если я увеличиваю и перемещаюсь по графику вправо, я вижу, что часть круга выглядит следующим образом
это .
На мой взглядDidLoad () я получил
chartView.delegate = self
chartView.chartDescription?.enabled = false
chartView.dragEnabled = true
chartView.setScaleEnabled(true)
chartView.pinchZoomEnabled = true
chartView.highlightPerDragEnabled = true
chartView.backgroundColor = .white
chartView.legend.enabled = false
let xAxis = chartView.xAxis
xAxis.labelFont = .systemFont(ofSize: 10, weight: .light)
xAxis.labelTextColor = UIColor.black
xAxis.drawAxisLineEnabled = true
xAxis.drawGridLinesEnabled = true
xAxis.gridLineWidth = 1
xAxis.gridLineDashLengths = [1,1]
xAxis.axisMaximum = 100
xAxis.axisMinimum = -100
xAxis.granularity = 0.5
let leftAxis = chartView.leftAxis
leftAxis.labelPosition = .insideChart
leftAxis.labelFont = .systemFont(ofSize: 12, weight: .light)
leftAxis.drawGridLinesEnabled = true
leftAxis.gridLineWidth = 1
leftAxis.gridLineDashLengths = [1,1]
leftAxis.granularityEnabled = true
leftAxis.axisMinimum = -100
leftAxis.axisMaximum = 100
leftAxis.granularity = 0.5
leftAxis.yOffset = -9
leftAxis.labelTextColor = UIColor.black
chartView.xAxis.gridLineDashLengths = [1,1]
chartView.rightAxis.enabled = false
chartView.legend.form = .line
setDataCount()
//chartView.animate(xAxisDuration: 2.5)
И это в основном то, что у меня есть в моей функции
func setDataCount() {
let yVal1 = (-100...100).map {
return ChartDataEntry(x: Double($0), y: sqrt(100 - pow(Double($0), 2)))
}
let yVal2 = (-100...100).map {
return ChartDataEntry(x: Double($0), y: sqrt(100 - pow(Double($0), 2)) * -1)
}
let set1 = LineChartDataSet(values: yVal1, label: "Top")
//set1.axisDependency = .left
set1.setColor(UIColor.red)
set1.drawCirclesEnabled = false
set1.lineWidth = 2
set1.mode = .cubicBezier
let set2 = LineChartDataSet(values: yVal2, label: "Bottom")
set2.setColor(UIColor.black)
set2.drawCirclesEnabled = false
set2.lineWidth = 2
set2.mode = .cubicBezier
let data = LineChartData(dataSets: [set1,set2])
data.setValueFont(.systemFont(ofSize: 9))
data.setDrawValues(false)
chartView.data = data
}
Я все еще учусь и экспериментирую с графиками, так что я действительно не понимаю, в чем проблема, как я могу правильно показать круг в моем LineChartView?