我目前正在使用iOS Charts库,我正在尝试使用BarChartView
来缩放条的宽度,但是我很难确保宽度几乎保持不变,而不管图表中有多少条目。
根据此处提供的答案:Changing width of the bar in bar chart
其中一位开发人员表示,条形图的宽度会随着条目数量的增加而缩小。
我根据使用zoomMultiplier
的条目数计算了一个我满意的缩放级别因子,如下所示:
func createBarChart(dataPoints: [Date], values: [Double])
{
var dataEntries: [BarChartDataEntry] = []
for index in 0..<dataPoints.count
{
let dataEntry = BarChartDataEntry(x: Double(index),
y: values[index])
dataEntries.append(dataEntry)
}
barChartView.xAxis.valueFormatter = self
barChartView.xAxis.granularity = 1
barChartView.xAxis.setLabelCount(dataPoints.count, force: false)
barChartView.animate(yAxisDuration: 1.0, easingOption: .easeInOutQuad)
switch dataPoints.count
{
case 1...6:
zoomXMultiplier = 0.0
barWidthMultiplier = 0.3
break
default:
zoomXMultiplier = CGFloat(dataPoints.count) * 0.168
barWidthMultiplier = Double(dataPoints.count) * 0.0014 - Double(zoomXMultiplier) * 0.02
break
}
let chartDataSet = BarChartDataSet(values: dataEntries, label: "")
let chartData = BarChartData(dataSet: chartDataSet)
barChartView.data = chartData
barChartView.zoom(scaleX: zoomXMultiplier, scaleY: 0.0, x: 0, y: 0)
barChartView.barData?.barWidth = barWidthMultiplier
}
但是,我似乎无法使barWidthMultiplier恰到好处,条形宽度明显随着数据点条目数量的减少/增加而向下/向上缩放。
有人可以提供任何建议,以帮助我解决此问题吗?
谢谢!