Линейный график не отображается должным образом - PullRequest
0 голосов
/ 17 мая 2019

Я использую библиотеку диаграмм для отображения графика в моем приложении. По какой-то причине я использовал метод Carthage для интеграции каркаса Charts в мое приложение.

Тем не менее, диаграмма отображается неправильно, если доступно только две точки, в противном случае точки отображаются правильно.

Также я исследовал подобные проблемы на этой платформе, но мне не повезло. Не уверен, почему это происходит?

Смотрите прикрепленные скриншоты ниже. Заранее спасибо.

Диаграмма с двумя точками будет отображаться как следующая -

chart-issue

Диаграмма с тремя или более точками будет отображаться как следующая -

chart-more-points

1 Ответ

1 голос
/ 17 мая 2019

Проверить это .. enter image description here

import UIKit
import Charts

class LineChartViewController: UIViewController, ChartViewDelegate{

    @IBOutlet weak var lineChartVw: LineChartView!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.

        lineChartVw.delegate = self
        lineChartVw.chartDescription?.enabled = false
        lineChartVw.dragEnabled = true
        lineChartVw.setScaleEnabled(true)
        lineChartVw.pinchZoomEnabled = true
        lineChartVw.legend.enabled = false
        lineChartVw.drawBordersEnabled = true

        self.setDataCount(Int(2), range: UInt32(5))

        lineChartVw.xAxis.drawGridLinesEnabled = true
        lineChartVw.leftAxis.drawGridLinesEnabled = true
        lineChartVw.rightAxis.drawGridLinesEnabled = true
        lineChartVw.rightAxis.drawLabelsEnabled = false
        lineChartVw.xAxis.labelPosition = .bottom

    }


    func setDataCount(_ count: Int, range: UInt32) {
        let values = (0..<count).map { (i) -> ChartDataEntry in
            return ChartDataEntry(x: Double(i), y: Double(i), icon:#imageLiteral(resourceName: "round1"))
        }

        let set1 = LineChartDataSet(values: values, label: "DataSet 1")
        set1.drawIconsEnabled = false
        set1.setColor(.black)
        set1.setCircleColor(.black)
        set1.lineWidth = 1
        set1.circleRadius = 3
        set1.valueFont = .systemFont(ofSize: 9)
        set1.drawFilledEnabled = true

        let data = LineChartData(dataSet: set1)

        lineChartVw.data = data
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...