2016-09-29 125 views
1

我有麻煩與圖書館,我找不到解決方案,希望你能幫助。多個標籤xAxis iOS-Charts

當我把數據放在圖表上時,關於繪製座標軸和形狀的一切都很順利,但是我的xAxis上的標籤自我繁殖,我不知道爲什麼,看我讓我看看我的代碼和問題的圖片,聽起來很奇怪但爲了顯示我用一個數據創建了一個barChart的問題。

func setChart(values: [Double]) { 

    let formato:BarChartFormatter = BarChartFormatter() 
    formato.setArray(self.listadoLabels) 
    let xaxis:XAxis = XAxis() 

    max = values.maxElement() 

    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 
} 

大部分的代碼只是造型,我已經爲x軸格式一類,因爲你需要一個把標籤在x軸,這是代碼:

public func stringForValue(value: Double, axis: AxisBase?) -> String { 

    return "Label1" 
} 

我只是發送5512一個值,並且結果,不注重segmentTab和按鈕:

enter image description here

+0

順便說,讀你的代碼,我看你用了「fitBars」有拳頭和最後一棒的大小相同,沒有你做任何其他事情來實現這一目標?因爲在我的情況下,鉗工不工作 – Ponchotg

回答

3

我在你同樣的情況,我不能」找不到一個確切的解決方案,但對我來說這一個工作:

barChart?.xAxis.wordWrapEnabled = true 
barChart?.xAxis.setLabelCount(5, force: true) 

我也集中我的酒吧,以匹配標籤

let dataEntry = BarChartDataEntry(x: Double(i) + 0.5, y: Double(count)) 

在我的情況,我的圖表不能有超過5條等等我使用了5,但是你可以傳遞一個帶有條數的變量,並將「LabelCount」設置爲該數字,當你放大時它仍然會重複標籤,但它們不會重疊並且看起來不那麼糟糕。

我知道這是不是正是你要找的答案,但希望它有助於