leftAxis 标签的位置

Position of leftAxis labels

我有一个 LineChartView,在 leftAxis 上有标签。我想在图表上有一个偏移量,然后使用免费的 space 来显示标签。我目前有以下内容:

chartView.leftAxis.labelPosition = YAxis.LabelPosition.outsideChart
chartView.leftAxis.xOffset = 12

labelPosition 仅提供外部和内部图表。

但我想将标签向左移动一点,是否可以为标签指定一个偏移量或以某种方式将它们向左移动一点?

y轴上的值可以存储为字符串,然后你可以在每个值上添加白色spaces来将它们向左移动。

 var yvalues: [String] = [String]()
 yvalues.append("0    ")
 yvalues.append("1    ")
 yvalues.append("2    ")
 yvalues.append("3    ")
 yvalues.append("4    ")
 yvalues.append("5    ")
 yvalues.append("6    ")
 yvalues.append("7    ")
 yvalues.append("8    ")
 yvalues.append("9    ")
 yvalues.append("10    ")
 chartView.leftAxis.valueFormatter = IndexAxisValueFormatter(values: yvalues)

现在左轴和图表之间的 space 比右轴和图表之间的要多得多:

这是一个更简洁的解决方案: 1. 创建这个 class:

class MyIndexFormatter: IndexAxisValueFormatter {

   open override func stringForValue(_ value: Double, axis: AxisBase?) -> String
   {
        return "\(value)     "
   }    
}
  1. 在您的控制器中:

    chartView.leftAxis.valueFormatter = MyIndexFormatter()
    

结果: