Swift ios:在柱状图上实现滚动

4
尝试使用缩放比例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轴值错位。

enter image description here

enter image description here

2个回答

2

从您的代码中,我猜测您期望的行为是图表:

  • 最多显示所有可用条形图的一半
  • 允许用户无限缩放(最小值=0)
  • 允许用户滚动(左/右)

如果是这种情况,您可以应用以下代码:

barChartView.xAxis.axisMinimum = 0.0
barChartView.xAxis.axisMaximum = Double(labels.count - 1)

barChartView.setVisibleXRangeMaximum(Double(labels.count)/2)
barChartView.xAxis.setLabelCount(Int(Double(labels.count)/2), force: false)

.zoom应该避免使用,因为它设置了多个不需要的值(scaleYxy),从而在滚动时添加了不需要的功能。

重要的是将force标志设置为false。这就是描述文档中导致您错位的参数:

https://weeklycoding.com/mpandroidchart-documentation/axis-general/

setLabelCount(int count, boolean force):设置y轴标签的数量。请注意,此数量不是固定的(如果force == false),只能近似。如果启用了force(true),则会绘制确切指定的标签计数-这可能导致轴上的数字不均匀。

谢谢回答。使用设置力为false,它可以正常工作。 :) - Vinay Podili

0
为了使图表水平滚动并正确调整条形和y轴标签:
let visibleXRange = 6 // Number of values to show in y-Axis
barChartView.xAxis.axisMaximum = Double(xAxisValues.count)
barChartView.setVisibleXRangeMaximum(Double(visibleXRange))
barChartView.xAxis.setLabelCount(visibleXRange, force: false)
barChartView.xAxis.granularity = 1
barChartView.xAxis.labelCount = visibleXRange

确保 dragEnabled = true

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接