Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios iso图表折线图右轴最小值和最大值设置不正确_Ios_Swift3_Ios Charts - Fatal编程技术网

Ios iso图表折线图右轴最小值和最大值设置不正确

Ios iso图表折线图右轴最小值和最大值设置不正确,ios,swift3,ios-charts,Ios,Swift3,Ios Charts,迁移到Swift 3后,我的折线图在y轴上显示奇怪的值。我不确定是范围还是数据集有问题。但是我检查过了,y值似乎是正确的。 图表本身也显示为蓝色矩形,而不是折线图(我假设是因为y值错误) 看看这张图表,有没有人知道会出什么问题 更新: 我能够将问题精确定位到未正确设置的右轴Axismimum和Axismimum。当我对左轴使用相同的代码时,它可以完美地工作 以下是设置的代码: class func newLineChartViewWithXValsAndDataSets(frame: CGRe

迁移到Swift 3后,我的折线图在y轴上显示奇怪的值。我不确定是范围还是数据集有问题。但是我检查过了,y值似乎是正确的。 图表本身也显示为蓝色矩形,而不是折线图(我假设是因为y值错误) 看看这张图表,有没有人知道会出什么问题

更新: 我能够将问题精确定位到未正确设置的右轴Axismimum和Axismimum。当我对左轴使用相同的代码时,它可以完美地工作

以下是设置的代码:

class func newLineChartViewWithXValsAndDataSets(frame: CGRect, xVals: [String], dataSets: [SVLineChartDataSet]?, maximum: ChartDataEntry?, minimum: ChartDataEntry?) -> LineChartView {
    let lineChartView = LineChartView(frame: frame)
    let chartData = LineChartData(dataSets: dataSets)
    let margin: CGFloat = 6
    lineChartView.doubleTapToZoomEnabled = false
    lineChartView.dragEnabled = false
    lineChartView.drawGridBackgroundEnabled = false
    lineChartView.drawBordersEnabled = false
    lineChartView.legend.textColor = UIColor.sharevilleLightGrey

    lineChartView.xAxis.labelPosition = .bottom
    lineChartView.xAxis.labelTextColor = UIColor.sharevilleLightGrey
    lineChartView.xAxis.avoidFirstLastClippingEnabled = true
    lineChartView.xAxis.drawGridLinesEnabled = false
    lineChartView.xAxis.axisLineColor = UIColor.sharevilleTouchGrey
    lineChartView.xAxis.valueFormatter = LineChartDateFormatter(dates: xVals)
    lineChartView.xAxis.setLabelCount(3, force: true)

    lineChartView.leftAxis.axisLineColor = UIColor.sharevilleTouchGrey
    //lineChartView.leftAxis.drawLabelsEnabled = false
    //lineChartView.leftAxis.drawAxisLineEnabled = false
    lineChartView.leftAxis.spaceTop = margin
    lineChartView.leftAxis.spaceBottom = margin
    lineChartView.leftAxis.resetCustomAxisMax()
    lineChartView.leftAxis.resetCustomAxisMin()

    lineChartView.rightAxis.labelTextColor = UIColor.sharevilleDarkGrey
    lineChartView.rightAxis.axisLineColor = UIColor.sharevilleTouchGrey
    lineChartView.rightAxis.gridColor = UIColor.sharevilleTouchGrey
    lineChartView.rightAxis.labelPosition = .insideChart
    lineChartView.rightAxis.drawLabelsEnabled = false
    lineChartView.rightAxis.drawAxisLineEnabled = false
    lineChartView.rightAxis.spaceTop = margin
    lineChartView.rightAxis.spaceBottom = margin


    // if we have no maximum and minimumvalue return the linechart directly
    guard let maximum = maximum, let minimum = minimum else {
        return lineChartView
    }

    //let absMinMax = abs(maximum.y - minimum.y)
    //let visibleYRangeMaxium = max(absMinMax,1) * 1.2
   // print("visibile Y Range")
   // print(visibleYRangeMaxium)

    //lineChartView.setVisibleYRangeMaximum(visibleYRangeMaxium, axis: YAxis.AxisDependency.left)

    lineChartView.leftAxis.axisMinimum =  minimum.y
    lineChartView.leftAxis.axisMaximum =  maximum.y
    //lineChartView.rightAxis.axisMinimum =  minimum.y
    //lineChartView.rightAxis.axisMaximum =  maximum.y


    lineChartView.animate(xAxisDuration: 1, easingOption: .easeInCubic)

    print("LinChartView.data= ", lineChartView.data)
    lineChartView.chartDescription?.text = ""
    lineChartView.backgroundColor = .white


    if let dataSets = dataSets {
        for dataSet in dataSets {

            if dataSet.isLineChartViewHighLowEnabled {
                DispatchQueue.main.async {
                    self.drawLineChartValueView(lineChartView, dataEntry: maximum)
                    self.drawLineChartValueView(lineChartView, dataEntry: minimum)
                }
            }
        }
    }

    lineChartView.data = chartData

    return lineChartView
}

我没有看到您将数据集
axisDependency
设置为右轴。

我没有看到您将数据集
axisDependency
设置为右轴。

此聊天中哪个值错误?它应该显示什么?右轴值与我在数据集中调试时看到的不一样。此外,图表范围应为最大值和最小值(此处正确显示)。您可以发布代码设置图表吗?我们可能可以帮助您了解您在哪里转换为Swift 3wrongly@AdityaGarg请检查更新。我能够缩小问题的范围,但我不知道我需要做什么来解决它。在这个聊天中哪个值是错误的?它应该显示什么?右轴值与我在数据集中调试时看到的不一样。此外,图表范围应为最大值和最小值(此处正确显示)。您可以发布代码设置图表吗?我们可能可以帮助您了解您在哪里转换为Swift 3wrongly@AdityaGarg请检查更新。我能够缩小问题的范围,但我不知道我需要做什么来解决它。就是这样!就是这样!