Как установить, где на быстрых диаграммах (line chart) рисуется линия оси x? - PullRequest
0 голосов
/ 31 января 2020

Я использую Графики для быстрого в моем iOS приложении. В настоящее время я установил, где отображается только линия оси X, и я хочу установить, при каком значении y эта линия оси X рисуется. Чтобы поместить это в контекст, я делаю график акций и хочу установить линию оси X на первое значение (цена открытия) для акций. Вот мой текущий вид линейного графика.

Редактировать: Прямо сейчас линия всегда рисуется в верхней части представления.

let chartView: LineChartView = {
    let view = LineChartView()
    view.noDataText = ""
    view.legend.enabled = false
    view.legend.textColor = .clear

    //X Axis
    view.xAxis.wordWrapEnabled = true
    view.xAxis.drawLabelsEnabled = false
    view.xAxis.drawAxisLineEnabled = true
    view.xAxis.axisLineColor = .white
    view.xAxis.axisLineDashLengths = [2]
    view.xAxis.drawGridLinesEnabled = false

    //Y Axis
    view.rightAxis.enabled = false
    view.leftAxis.enabled = false
    view.leftAxis.gridColor = .clear
    view.rightAxis.gridColor = .clear
    view.leftAxis.drawLabelsEnabled = false

    view.leftAxis.axisMinimum = points[0] //HERE

    return view
}()

1 Ответ

0 голосов
/ 04 февраля 2020

Я думаю, что использование дополнительного набора данных - это самый простой способ нарисовать горизонтальную линию на графике.

    var xMinValue: Double = 0 // use your own value
    var xMaxValue: Double = 12 // use your own value

    var yFirstValue: Double = 9  // set your open price

    let horizontalLineDataEntries: [ChartDataEntry] = [
        ChartDataEntry(x: xMinValue, y: yFirstValue),
        ChartDataEntry(x: xMaxValue, y: yFirstValue)
    ]

    let horizontalLineSataSet = LineChartDataSet(values: horizontalLineDataEntries, label: nil)
    horizontalLineSataSet.setColor(.blue)
    horizontalLineSataSet.lineWidth = 2
    horizontalLineSataSet.drawCirclesEnabled = false
    horizontalLineSataSet.drawValuesEnabled = false

    chartData.addDataSet(horizontalLineSataSet)

    chartView.data = chartData

enter image description here

...