尽管调用了 stringForValue,但 XAxis 标签未显示

XAxis labels not shown despite stringForValue getting called

我有一个 LineChartView,我想显示 xAxis 的标签。 我的代码如下所示:

    chartView.chartDescription?.enabled = false
    chartView.drawGridBackgroundEnabled = false
    chartView.dragEnabled = !chartView.isFullyZoomedOut
    chartView.setScaleEnabled(true)
    chartView.pinchZoomEnabled = true
    chartView.setViewPortOffsets(left: 20.0, top: 0.0, right: 20.0, bottom: 0.0)

    chartView.legend.enabled = true
    chartView.legend.textColor = legendColor
    chartView.legend.form = .empty

    chartView.leftAxis.enabled = false
    chartView.leftAxis.spaceTop = 0.4
    chartView.leftAxis.spaceBottom = 0.4
    chartView.rightAxis.enabled = false

    chartView.xAxis.enabled = true
    chartView.xAxis.labelTextColor = UIColor.black
    chartView.xAxis.valueFormatter = self
    chartView.xAxis.drawGridLinesEnabled = false
    chartView.xAxis.drawLabelsEnabled = true
    chartView.xAxis.drawAxisLineEnabled = false

    chartView.highlightPerTapEnabled = false
    chartView.highlightPerDragEnabled = false

    if lineChartData.entryCount > 0 {
        chartView.data = lineChartData
    }
    chartView.noDataText = NSLocalizedString("No chart data available", comment: String())
    chartView.maxVisibleCount = 12
    chartView.delegate = self

extension ChartCell: IAxisValueFormatter {
   func stringForValue(_ value: Double, axis: AxisBase?) -> String {
       return "foo"
   }

}

在调试器中我看到正在调用 stringForValue,但是在绘制的图表中没有标签。 我不知道我在这里错过了什么。

您必须在下面设置:

chartView.xAxis.labelPosition = XAxis.LabelPosition.bottom