我正在填充一个包含折线图和分组条形图的组合图表,但是 酒吧没有按预期出现。它们与 xAxis 索引不同步。任何帮助将不胜感激。
Combined Chart Image: Line + Grouped Bar
对于我附加的图像,条形图应该与每个月同步,但事实并非如此。
代码如下:
private func setLineChartWith(data: [Double]) {
var lineChartEntries: [ChartDataEntry] = []
for i in 0..<data.count {
let lineChartEntry = ChartDataEntry(value: data[i], xIndex: i)
lineChartEntries.append(lineChartEntry)
}
let lineDataSet = LineChartDataSet(yVals: lineChartEntries, label: "Line")
lineDataSet.lineWidth = 3
lineDataSet.circleRadius = 4
lineDataSet.mode = .CubicBezier
lineDataSet.highlightEnabled = true
let lineChartData = LineChartData(xVals: datesData, dataSets: [lineDataSet])
chartData.lineData = lineChartData
}
// MARK: Bar Chart Code
func setBarChartWith(data: [Double], secondaryData: [Double]?) {
var barChartEntries1: [BarChartDataEntry] = []
var barChartEntries2: [BarChartDataEntry] = []
for i in 0..<data.count {
barChartEntries1.append(BarChartDataEntry(value: data[i], xIndex: i))
barChartEntries2.append(BarChartDataEntry(value: data[i], xIndex: i))
}
let barDataSet = BarChartDataSet(yVals: barChartEntries1, label: "Bar1")
barDataSet.barSpace = 0.5
barDataSet.highlightEnabled = true
barDataSet.barShadowColor = UIColor.clearColor()
let barDataSet2 = BarChartDataSet(yVals: barChartEntries1, label: "Bar2")
barDataSet2.barSpace = 0.5
barDataSet2.highlightEnabled = true
barDataSet2.barShadowColor = UIColor.clearColor()
var dataSets : [BarChartDataSet] = [BarChartDataSet]()
dataSets.append(barDataSet)
dataSets.append(barDataSet2)
let barChartData = BarChartData(xVals: datesData, dataSets: dataSets)
chartData.barData = barChartData
}
最佳答案
您可能正在使用库来创建图形。这个bibliotca有这个问题,项目在x轴上受到限制。该图表将它们分开,以便用户即使没有一些数据也能理解。您将意识到它始终从数组的第一个索引开始并以数组的最后一个索引结束,因此它从 x 轴中间获取一些数据。因此,用户可以理解该图并且该图没有过载。库中没有正确的解决方案,但您可以尝试缩放图表或 x 轴上的标签。增加图表的宽度也应该有所帮助。
关于iOS 图表 - 分组条形图未正确索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39209916/