尝试在Barchart上实现滚动,使用缩放x到2进行放大。但问题是x轴值没有与条形图中心对齐。标签计数基于日和月值。
barChartView.xAxis.axisMinimum = 0.0
barChartView.xAxis.axisMaximum = Double(labels.count - 1)
barChartView.setVisibleXRangeMaximum(Double(labels.count)/2)
or
barChartView.zoom(scaleX: 2, scaleY: 0, x: 0, y: 0)
对于类似的滚动实现,
barChartView.xAxis.setLabelCount(Int(Double(labels.count)/2), force: true)
请向我们建议正确的方法,以避免x轴值与条形图对齐错误。
2条答案
按热度按时间n8ghc7c11#
从您的代码中,我假设您的预期行为是
如果是这种情况,您将应用以下代码:
应该避免使用
.zoom
,因为它设置了多个不需要的值(scaleY
,x
,y
),因此在滚动时会添加不需要的功能。将
force
标志设置为false
非常重要。如文档中所述,这是导致未对齐的参数:https://weeklycoding.com/mpandroidchart-documentation/axis-general/
setLabelCount(int count,boolean force):设置y轴的标签数。请注意,这个数字不是固定的(如果force == false),只能近似计算。如果启用了force(true),则会绘制精确的指定标签计数-这可能会导致轴上出现奇数。
kknvjkwl2#
要使图表水平滚动并正确调整条形图和y轴标签,请执行以下操作:
确保
dragEnabled = true