如何根据其条形拟合x轴标签?

时间:2017-06-30 09:59:01

标签: ios swift swift3 ios-charts

我正在使用ios-chart库,我有一个CombinedBarChart,默认情况下我对其进行了缩放

combinedBarChart.setScaleMinima(2, scaleY: 1)
combinedBarChart.setScaleEnabled(false)

我希望每个x轴标签都能保持在每个条形图上方,但我无法使其正常工作。

以下是我的例子:

enter image description here

如您所见,x轴标签分别与其条形不对应。

如何使每个x轴标签位于其条形图的上方?

提前致谢!

1 个答案:

答案 0 :(得分:1)

我无法通过将此添加到我的combinedChart:

来重现该问题
 combinedBarChart.setScaleMinima(2, scaleY: 1)
 combinedBarChart.setScaleEnabled(false)

但是在您上传代码之前,我可以建议以下内容:

  1. 确保

    combinedBarChart.xAxis.granularity = 1
    
  2. 2。 将图表向左移动一点。

        var shift = -0.2
        var entries: [BarChartDataEntry] = []
        for index in 0..<datapoints.count {
           let value1 = Double(datapoints[index])
           let value2 = Double(datapoints[index])
           entries.append(BarChartDataEntry(x: Double(index)+shift, yValues: [value1, value2]))
        }         
    
    1. 通过降低每个屏幕上显示的条形数量,您可以在条形图之间创建更多空间,这可能会解决问题:

       combinedBarChart.setVisibleXRange(minXRange: 4.0, maxXRange: 4.0)
      
    2. 您可能还想将所有月份名称更改为3位数名称,例如Jan,Feb,Mar,...以查看是否会导致问题消失。 如果确实如此,并且您不想使用3位数名称,则可以在月末名称中添加空格以使它们全部等长。像“一月”,“二月”,“三月”,“八月”,“九月”,“十月”,“十二月”。