ios - 强制在 x 轴上显示最小值/最大值

标签 ios swift charts ios-charts

我正在使用 library .任何人都知道是否可以强制在 x 轴上显示最小和最大标签。

我有什么:

enter image description here

我想要实现的目标:

enter image description here

我的实现:

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.xMinlineDataSet.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/

相关文章:

ios - 在 Swift 中测试 NSString 是否为数字的扩展

objective-c - 编程 iOS : clarifications about Root View Controller

ios - 自定义快速相机圈触摸响应

R Plotly : How to set the color of Individual Bars of a Waterfall Chart in R Plot. ly?

ios - 如何在 iOS 图表上正确显示底轴 (xVals) 上的标签?

ios - 将 cookie 传递给 UIWebView - iOS

ios - 在 UItableView 中处理 UItextfield 的委托(delegate)

swift - 何时使用 IBAction 与 UITapGestureRecognizer?

ios - 如何在 Swift 中触摸并按住一个节点?

javascript - 如何使用chartJs中的折线图减小三 Angular 形的底部宽度?