在ios-charts中如何设置y轴的最大值?

use*_*erx 2 ios swift mpandroidchart ios-charts

我正在使用 ios-charts 来显示一个 Horizo​​ntal BarChart ,其中一个值是这样的:

 var dataEntries: [BarChartDataEntry] = []
        let dataEntry = BarChartDataEntry(value: self.deductible!.deductiblePaid, xIndex: 0)
        dataEntries.append(dataEntry)
        let chartDataSet =    BarChartDataSet(yVals: dataEntries, label: "Deductible")
        let chartData = BarChartData( xVals: dataPoints, dataSet: chartDataSet)


        self.horizontalBarChart!.data = chartData
        self.horizontalBarChart!.leftAxis.customAxisMax = 3000.0
        self.horizontalBarChart!.leftAxis.startAtZeroEnabled = false

        chartDataSet.colors = ChartColorTemplates.vordiplom()
Run Code Online (Sandbox Code Playgroud)

我试图为 YAxis 设置最大值,但它不影响图形。编辑:请在此处查看屏幕截图:http : //postimg.org/image/ogoj2t02f/ 我需要的是条形图应显示上限为 3000(或动态指定的数量),而不是计算出的上限。

我更改了一些代码来实现它,这是我目前所拥有的:

self.horizontalBarChart!.noDataText = "You need to provide data for the chart."

        self.horizontalBarChart!.setVisibleYRangeMaximum(3000, axis: ChartYAxis.AxisDependency.Left)
        self.horizontalBarChart!.descriptionText = ""
        var dataEntries: [BarChartDataEntry] = []
        let dataEntry = BarChartDataEntry(value: self.deductible!.deductiblePaid, xIndex: 0)
        dataEntries.append(dataEntry)
        let chartDataSet =    BarChartDataSet(yVals: dataEntries, label: " ")
        self.horizontalBarChart!.noDataText = "You need to provide data for the chart."
        self.horizontalBarChart!.setViewPortOffsets(left: 0, top: 0, right: 0, bottom: 0);
        let chartData = BarChartData( xVals: dataPoints, dataSet: chartDataSet)

        self.horizontalBarChart!.autoScaleMinMaxEnabled = false
        self.horizontalBarChart!.data = chartData
        self.horizontalBarChart!.leftAxis.axisMaximum = 1600
        self.horizontalBarChart!.leftAxis.axisMinimum = 00
        self.horizontalBarChart!.rightAxis.axisMaximum = 1600
        //self.horizontalBarChart!.leftAxis.customAxisMax = 3000.0
        //self.horizontalBarChart!.leftAxis.startAtZeroEnabled = false

        chartDataSet.colors = ChartColorTemplates.vordiplom()
        self.horizontalBarChart!.xAxis.labelPosition = .Top

        self.horizontalBarChart!.backgroundColor = UIColor(red: 189/255, green: 195/255, blue: 199/255, alpha: 1)
        self.horizontalBarChart!.animate(xAxisDuration: 2.0, yAxisDuration: 2.0)
Run Code Online (Sandbox Code Playgroud)

如果我不清楚并且您需要更多详细信息,请告诉我。这比我想象的更具挑战性!任何帮助在这里将不胜感激。

第二次编辑: 我现在有以下代码:

 func setHorizontalBarChartData() {

        self.horizontalBarChart!.descriptionText = ""
        var dataEntries: [BarChartDataEntry] = []
        let dataEntry = BarChartDataEntry(value: 900, xIndex: 0)
        dataEntries.append(dataEntry)
        let chartDataSet =    BarChartDataSet(yVals: dataEntries, label: " ")
        self.horizontalBarChart!.noDataText = "You need to provide data for the chart."
        //self.horizontalBarChart!.setViewPortOffsets(left: 0, top: 0, right: 0, bottom: 0);
        let deductible = [" "]
        let chartData = BarChartData( xVals: deductible, dataSet: chartDataSet)
        self.horizontalBarChart!.data = chartData
        self.horizontalBarChart!.leftAxis.startAtZeroEnabled = false
        self.horizontalBarChart!.rightAxis.startAtZeroEnabled = false
        self.horizontalBarChart!.rightAxis.customAxisMax = 3000
        self.horizontalBarChart!.rightAxis.customAxisMin = 10
        chartDataSet.colors = ChartColorTemplates.vordiplom()
        self.horizontalBarChart!.xAxis.labelPosition = .Top
        self.horizontalBarChart!.backgroundColor = UIColor(red: 189/255, green: 195/255, blue: 199/255, alpha: 1)
        self.horizontalBarChart!.animate(xAxisDuration: 2.0, yAxisDuration: 2.0)
    }
Run Code Online (Sandbox Code Playgroud)

我仍然得到同样的结果:http : //postimg.org/image/ogoj2t02f/ 我需要的只是一个值高达 3000 的条形图和一个高达 900 的条形图。你能帮忙吗?

wye*_*wye 5

如果上下 y 轴值未按预期显示,请确保,

  1. 您在 y 轴的左侧和右侧设置customAxisMaxcustomAxisMin
  2. 您在设置图表视图之前设置customAxisMax和。customAxisMax.data
  3. 您将 x 和 y 轴都设置startAtZeroEnabled为 false。并且startAtZeroEnabled在设置.data图表视图之前进行设置。

我花了几个小时才弄清楚这些。希望它可以为您节省一些。