Я использую is- Charts, в UIView у меня есть кнопки (1,2,3,4) и UIView с графиками
Я хочу, если кнопка 1 нажата - удалить старую строку данных и показать новую с новыми данными ^, а если нажать кнопку 2, то аналогично перезагрузить
func populateData(withCount countA: [Double], countB: [Double]) {
for index in 0..<countB.count{
let dataEntry = ChartDataEntry(x: countB[index], y: countA[index])
values.append(dataEntry)
}
let set = LineChartDataSet(values: values, label: "")
set.mode = .cubicBezier
set.cubicIntensity = 0.2
set.drawCirclesEnabled = true
set.lineWidth = 2.7
set.circleRadius = 2.8
set.setCircleColor(.green)
set.setColor(#colorLiteral(red: 0.3176470588, green: 0.9960784314, blue: 0.6549019608, alpha: 1))
set.fillColor = .green
set.fillAlpha = 1.0
set.drawHorizontalHighlightIndicatorEnabled = false
set.drawVerticalHighlightIndicatorEnabled = false
let gradientColors = [UIColor.cyan.cgColor, UIColor.clear.cgColor] as CFArray
let colorLocations:[CGFloat] = [1.0, 0.0]
let gradient = CGGradient.init(colorsSpace: CGColorSpaceCreateDeviceRGB(), colors: gradientColors, locations: colorLocations
set.fill = Fill.fillWithLinearGradient(gradient!, angle: 90.0)
set.drawFilledEnabled = true
let data = LineChartData(dataSet: set)
data.setDrawValues(false)
chartView.data = data
}
В viewDidLoad я загружаю данные с кнопки1:
let a: [Double] = [2.530, 2.014, 2.625, 1.898, 0.556, 2.3767, 2.554, 2.6676, 1.8777, 2.098, 2.567, 3.0, 3.5, 3.7, 3.2]
let b: [Double] = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0]
let c: [Double] = [1.530, 3.014, 0.625, 3.898, 2.556, 3.3767, 1.554, 1.6676, 3.8777, 1.098, 3.567, 2.0, 2.5, 1.7, 2.2]
let d: [Double] = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0]
override func viewDidLoad() {
super.viewDidLoad()
populateData(withCount: a, countB: b)
}
В кнопке1:
chartView.clear()
populateData(withCount: a, countB: b)
В кнопке2:
chartView.clear()
populateData(withCount: c, countB: d)
Но это не работает, данные не меняются, только добавить и показать 2 строки
Как я могу удалить и поместить новые данные?