2016-12-06 27 views
1

我已經創建了一個xAxis有9個類別標籤的條形圖: [「Foods」,「House Loan」,「Insurance 」,‘汽油’,‘拯救’,‘火車’,‘其他’,‘書&雜誌’,‘停車場’]Charts3.0 - 如果超過8個值,不能顯示所有的xAxis標籤 - Swift

但在圖表它只是表明: 食品,保險,儲蓄,其他和停車場

任何一個知道如何解決它?

這裏的源代碼,設置X軸

func setChart(dataPoints: [String], values: [Double]) {  
    var dataEntries: [BarChartDataEntry] = [] 

    for i in 0..<dataPoints.count { 

     let value = values[i] as Double 
     let dataEntry = BarChartDataEntry(x: Double(i), y:value) 
     dataEntries.append(dataEntry) 
    } 

    let chartDataSet = BarChartDataSet(values: dataEntries, label: "Total Amount") 

    var colors: [UIColor] = [] 
    for _ in 0..<dataPoints.count { 
     let red = Double(arc4random_uniform(256)) 
     let green = Double(arc4random_uniform(256)) 
     let blue = Double(arc4random_uniform(256)) 

     let color = UIColor(red: CGFloat(red/255), green: CGFloat(green/255), blue: CGFloat(blue/255), alpha: 1) 
     colors.append(color) 
    } 

    chartDataSet.colors = colors 
    chartDataSet.colors = ChartColorTemplates.joyful() 
    barChartView.chartDescription?.text = "" 

    barChartView.xAxis.labelPosition = .bottom 
    barChartView.xAxis.drawGridLinesEnabled = false 
    barChartView.xAxis.granularityEnabled = true 
    barChartView.xAxis.granularity = 1.0 
    barChartView.xAxis.decimals = 0 

    let chartData = BarChartData() 
    chartData.addDataSet(chartDataSet) 
    barChartView.data = chartData 
    barChartView.xAxis.valueFormatter = self 

    let format = NumberFormatter() 
    format.numberStyle = .decimal 
    let formatter = DefaultValueFormatter(formatter: format) 
    chartData.setValueFormatter(formatter) 
    barChartView.animate(xAxisDuration: TimeInterval(1)) 
} 

enter image description here

回答

1

只需要設置標籤計數。 barChartView.xAxis.labelCount = dataPoints.count