leftAxis标签的位置

时间:2017-05-31 15:23:12

标签: swift ios-charts

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

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

labelPosition仅提供outside-andChart。

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

enter image description here

2 个答案:

答案 0 :(得分:0)

y轴上的值可以存储为字符串,然后您可以为每个值添加空格以将它们移到左侧。

 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)

现在leftaxis和图之间的空间比右轴和图之间的空间要大得多: enter image description here

答案 1 :(得分:0)

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

class MyIndexFormatter: IndexAxisValueFormatter {

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

    chartView.leftAxis.valueFormatter = MyIndexFormatter()
    
  2. 结果: enter image description here