我正在使用 library .任何人都知道是否可以强制在 x 轴上显示最小和最大标签。
我有什么:
我想要实现的目标:
我的实现:
private func prepareXAxis() {
lineChart.xAxis.labelPosition = .bottom
lineChart.xAxis.valueFormatter = ChartXAxisDateValueFormatter()
lineChart.xAxis.labelFont = UIFont.pmd_robotoRegular(ofSize: 13.0)
lineChart.xAxis.labelTextColor = UIColor.pmd_darkGrey
}
以及我自己的 ValueFormatter
的实现:
import Foundation
import Charts
class ChartXAxisDateValueFormatter: NSObject, IAxisValueFormatter {
func stringForValue(_ value: Double, axis: AxisBase?) -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "hh:mm\ndd MMM"
return dateFormatter.string(from: Date(timeIntervalSince1970: value))
}
}
编辑
我添加了这段代码,但 x 轴上的第一个和最后一个标签仍然被跳过:
lineChart.xAxis.axisMinimum = lineDataSet.xMin
lineChart.xAxis.axisMaximum = lineDataSet.xMax
lineChart.xAxis.avoidFirstLastClippingEnabled = false
lineChart.xAxis.granularity = 1.0
我检查了 lineDataSet.xMin
和 lineDataSet.xMax
。它们具有有效值。
最佳答案
您需要设置以下属性才能不跳过第一个和最后一个值
//Set up XAxis into chart.
lineChart.xAxis.axisMinimum = 0
lineChart.xAxis.avoidFirstLastClippingEnabled = NO
lineChart.xAxis.granularity = 1.0
希望这会有所帮助。
关于ios - 强制在 x 轴上显示最小值/最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44023503/