Search code examples
swiftios-charts

Creating Multiple Lines with Line Chart


I am making use of code example and advice to add two or more lines in my line chart. I have difficulty doing so, as chtChart.data adds the chart data to the chart and causes an update. How should additional lines be added? In my code below, chtChart.data = data1 is replaced by data2.

let line1 = LineChartDataSet(values: lineChartEntry, label: "CH4")
let line2 = LineChartDataSet(values: avgValue, label: "Warnings")
line1.colors = [NSUIColor.blue]
line2.colors = [NSUIColor.gray]
let data1 = LineChartData()
let data2 = LineChartData()
data1.addDataSet(line1)
data2.addDataSet(line2)
chtChart.data = data1
chtChart.data = data2

Solution

  • To show multiple lines on one chart you need one instance of LineChartData with multiple data sets added to it.

    Replace your code with:

    let line1 = LineChartDataSet(values: lineChartEntry, label: "CH4")
    let line2 = LineChartDataSet(values: avgValue, label: "Warnings")
    line1.colors = [NSUIColor.blue]
    line2.colors = [NSUIColor.gray]
    let data = LineChartData(dataSets: [line1, line2])
    chtChart.data = data