I am having problems with iOS Charts when I try to put two lines on the same chart with a different number of data points. I've pasted my test code below.
testLineChartView.delegate = self
testLineChartView.xAxis.enabled = true
testLineChartView.xAxis.labelPosition = .Bottom
testLineChartView.rightAxis.drawLabelsEnabled = false
var allLineChartDataSets: [LineChartDataSet] = [LineChartDataSet]()
var dataEntries: [ChartDataEntry] = []
let dataPoints = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul"]
let values = [18.0, 4.0, 6.0, 3.0, 12.0, 16.0, 30]
for i in 0..<dataPoints.count {
let dataEntry = ChartDataEntry(value: values[i], xIndex: i)
dataEntries.append(dataEntry)
println(dataPoints[i])
}
let lineChartDataSet1: LineChartDataSet = LineChartDataSet(yVals: dataEntries, label: "Temperature")
allLineChartDataSets.append(lineChartDataSet1)
var dataEntries2: [ChartDataEntry] = []
let dataPoints2 = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Aug"]
let values2 = [21.0, 5.0, 7.0, 10.0, 11.0, 18.0, 20]
for i in 0..<dataPoints2.count {
let dataEntry2 = ChartDataEntry(value: values2[i], xIndex: i)
dataEntries2.append(dataEntry2)
println(dataPoints2[i])
}
let lineChartDataSet2 = LineChartDataSet(yVals: dataEntries2, label: "Units Sold")
lineChartDataSet2.setColor(UIColor.redColor())
lineChartDataSet2.setCircleColor(UIColor.redColor())
allLineChartDataSets.append(lineChartDataSet2)
let allDataPoints: [String] = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug"]
let lineChartData = LineChartData(xVals: allDataPoints, dataSets: allLineChartDataSets)
testLineChartView.data = lineChartData
Here is the chart that is produced:
As you can see, the August entry for dataset2 is showing as July. I tried to add an extra nil value for dataset2's July value, but that doesn't work. How do I get this to show correctly?