使用 danielgindi/Charts 渲染多个 BarChartDataSet

Render multiple BarChartDataSets using danielgindi/Charts

我正在尝试使用 danielgindi/Charts(基于 MPAndroidChart)创建条形图。我想使用多个数据集,但是当我尝试向 BarChartView 提供多个数据集时,没有呈现任何条形。

let barView = BarChartView()

let set1 = BarChartDataSet()
set1.addEntry(BarChartDataEntry(x: 1, y: 1))
let set2 = BarChartDataSet()
set2.addEntry(BarChartDataEntry(x: 2, y: 2))

barView.data = BarChartData(dataSets: [set1, set2])

contentView = barView

在上面的示例中,我希望显示两个柱状图。但是,根本不会出现任何条形图。

如果我只提供一个数据集,图表将按预期呈现。

barView.data = BarChartData(dataSets: [set1])

问题在于,对于多个组,x 轴上条形的位置会发生变化。但是,轴最小值和最大值不会自动调整大小以适应新数据。它们必须手动调整大小。例如:

let groupSpace = 0.3
let barSpace = 0.0
let groupWidth = barData.groupWidth(groupSpace: groupSpace, barSpace: barSpace)
columnView.xAxis.axisMinimum = 0
columnView.xAxis.axisMaximum = groupWidth * numOfEntriesPerSet
columnView.groupBars(fromX: 0, groupSpace: groupSpace, barSpace: barSpace)