iOS图表 - >最后一个值不会出现

时间:2016-08-31 15:41:08

标签: ios objective-c swift xcode ios-charts

我在使用库时遇到了一些麻烦,当我创建一个barChart时,我必须为我的values数组添加一个额外的值才能显示我的所有原始值,而在lineChart中,最后一个值出现在折线图中但是它没有像其他人那样高于它的价值。

我告诉你我的代码和一些显示问题的照片:

BarChart:我的xAxis有一个显示月份的自定义格式。

override func viewDidLoad() {
    super.viewDidLoad()

    let unitsSold = [20.0, 4.0, 6.0, 3.0, 12.0, 16.0, 4.0, 18.0, 2.0, 4.0, 5.0, 4.0]
    max = unitsSold.maxElement()        

    setChart(unitsSold)        
}


func setChart(values: [Double]) {

    let formato:BarChartFormatter = BarChartFormatter()
    let xaxis:XAxis = XAxis()

    barChartView.noDataText = "You need to provide data for the chart."

    var dataEntries: [BarChartDataEntry] = []

    for i in 0..<values.count {
        let dataEntry = BarChartDataEntry(x: Double(i), y:values[i])
        dataEntries.append(dataEntry)

        formato.stringForValue(Double(i), axis: xaxis)
    }

    xaxis.valueFormatter = formato

    let chartDataSet = BarChartDataSet(values: dataEntries, label: "Units Sold")
    chartDataSet.colors = ChartColorTemplates.joyful()

    barChartView.fitBars = true //Para que las barras inicial y final se muestren completas
    barChartView.xAxis.valueFormatter = xaxis.valueFormatter
    barChartView.xAxis.labelPosition = .Bottom
    barChartView.leftAxis.axisMinimum = 0
    barChartView.leftAxis.axisMaximum = max + 2
    barChartView.rightAxis.enabled = false
    barChartView.drawValueAboveBarEnabled = false
    barChartView.descriptionText = ""
    barChartView.xAxis.drawGridLinesEnabled = false
    barChartView.animate(xAxisDuration: 1.0, yAxisDuration: 1.0)

    let chartData = BarChartData()
    chartData.addDataSet(chartDataSet)
    barChartView.data = chartData
}

LineChart:我的xAxis有一个显示月份的自定义格式。

override func viewDidLoad() {
    super.viewDidLoad()

    let unitsSold = [20.0, 4.0, 6.0, 3.0, 12.0, 16.0]
    max = unitsSold.maxElement()

    setChart(unitsSold)   
}

func setChart(values: [Double]) {

    let formato:BarChartFormatter = BarChartFormatter()
    let xaxis:XAxis = XAxis()

    var dataEntries: [ChartDataEntry] = []

    for i in 0..<values.count {
        let dataEntry = ChartDataEntry(x: Double(i), y: values[i])
        dataEntries.append(dataEntry)

        formato.stringForValue(Double(i), axis: xaxis)
    }

    xaxis.valueFormatter = formato

    let lineChartDataSet = LineChartDataSet(values: dataEntries, label: "Units Sold")
    lineChartDataSet.colors = ChartColorTemplates.joyful()
    lineChartDataSet.circleColors = ChartColorTemplates.joyful()
    lineChartDataSet.drawCircleHoleEnabled = false


    let lineChartData = LineChartData( dataSet: lineChartDataSet)
    lineChartData.setValueFont(UIFont(name: "HelveticaNeue-Light", size: 7))

    lineChartView.fitScreen()
    lineChartView.xAxis.labelPosition = .Bottom
    lineChartView.xAxis.axisMaximum = Double(values.count) 
    lineChartView.leftAxis.axisMinimum = 0
    lineChartView.leftAxis.axisMaximum = max + 3
    lineChartView.rightAxis.enabled = false
    lineChartView.descriptionText = ""
    lineChartView.xAxis.drawGridLinesEnabled = false
    lineChartView.animate(xAxisDuration: 1.0, yAxisDuration: 1.0)
    lineChartView.xAxis.valueFormatter = xaxis.valueFormatter

    lineChartView.data = lineChartData
 }

回复是:对于barChart 12月没有出现,而在lineChart中,最后一个值没有显示其高于它的值,我希望有人可以提供帮助。

BarChart

enter image description here

0 个答案:

没有答案
相关问题