Линейная диаграмма отображает отрицательные значения, когда 0 на всех точках - PullRequest
0 голосов
/ 20 сентября 2018

Я использую платформу Chart в моем проекте iOS, чтобы показать Line Chart. Он отлично работает, когда хотя бы на один уровень данных больше 0, но показывает отрицательное значение, когда есть 0 данных. Результаты хороши, когда данные 1 Показывает отрицательные значения, когда все данные 0

Вот код, который я использую.Я вызываю функцию setData для передачи данных в диаграмму `import UIKit import Класс диаграмм GraphCollectionViewCell: UICollectionViewCell {

        let xaxis = ["1","2","3","4","5","6","7"]
        @IBOutlet weak var graphView: LineChartView!
        @IBOutlet weak var sentCountLbl: UILabel!
        @IBOutlet weak var opensCountLbl: UILabel!
        @IBOutlet weak var opensLbl: UILabel!


        override func awakeFromNib() {
        graphView.isUserInteractionEnabled = false
            self.graphView.gridBackgroundColor = UIColor.white
            self.graphView.xAxis.labelPosition = .bottom
            self.graphView.xAxis.drawGridLinesEnabled = false
            self.graphView.leftAxis.gridLineWidth = 0.5
            self.graphView.leftAxis.gridLineDashLengths = [1]
            self.graphView.leftAxis.drawAxisLineEnabled = false
            self.graphView.xAxis.drawAxisLineEnabled = false
            self.graphView.rightAxis.enabled = false
            self.graphView.xAxis.labelFont = UIFont.systemFont(ofSize: 12, weight: .semibold)
            self.graphView.leftAxis.labelFont = UIFont.systemFont(ofSize: 12, weight: .semibold)
            self.graphView.doubleTapToZoomEnabled = false
            self.graphView.pinchZoomEnabled = false
            self.graphView.chartDescription?.text = ""
            self.graphView.xAxis.labelTextColor = UIColor.gray
            self.graphView.leftAxis.labelTextColor = UIColor.gray

            self.graphView.xAxis.avoidFirstLastClippingEnabled = false
            self.graphView.xAxis.granularity = 1
            self.graphView.xAxis.valueFormatter = IndexAxisValueFormatter(values: xaxis)
            self.graphView.xAxis.spaceMin = 0.5
            self.graphView.xAxis.spaceMax = 0.5
            self.graphView.legend.enabled = false

            self.graphView.noDataText = "Nothing to show"

        }

        override func prepareForReuse() {
            super.prepareForReuse()
        }

        //Set chart data
    func setChartData(xData:[Double], yData:[Double]) {
                graphView.animate(yAxisDuration: 1)
                var yVals1 : [ChartDataEntry] = [ChartDataEntry]()
                for i in 0..<xData.count {
                    yVals1.append(ChartDataEntry(x:Double(i), y:yData[i] ))
                }

                // 2 - create a dataset with our array
                let set1: LineChartDataSet = LineChartDataSet(values: yVals1, label:nil)

                set1.axisDependency = .right
                set1.setColor(UIColor(red:0.34, green:0.67, blue:0.18, alpha:1))
                set1.setCircleColor(UIColor(red:0.34, green:0.67, blue:0.18, alpha:1))
                set1.lineWidth = 2
                set1.circleRadius = 5
                set1.circleHoleColor = UIColor(red: 0.973, green: 0.973, blue: 0.973, alpha: 1)
                set1.fillColor = UIColor(red:0.34, green:0.67, blue:0.18, alpha:1)
                set1.highlightColor = UIColor.red
                set1.drawCircleHoleEnabled = true
                let data: LineChartData = LineChartData()
                data.addDataSet(set1)
                data.highlightEnabled = false
                data.setValueTextColor(graphView.backgroundColor)
                graphView.data = data

        } 
    }`

var days: [Double] = [1,2,3,4,5,6, 7] процентное соотношение: [Double] = [0,0,0,0,0,0,0] cell.setChartData (xData: дни, yData: процент)

...