2016-09-29 2 views
1

도서관에 문제가있어 해결책을 찾을 수 없습니다. 도움을 받으실 수 있기를 바랍니다.여러 라벨 xAxis iOS 차트

차트에 데이터를 넣을 때 축과 모양을 그리는 것에 관한 모든 것이 잘되지만 xAxis의 레이블 자체가 곱 해져서 왜 그런지 모르겠지만 내 코드와 문제의 그림을 보일 것입니다. 이상하게 들릴 수 있습니다. 하지만 문제를 표시하기 위해 하나의 데이터로 barChart를 만들었습니다.

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

    return "Label1" 
} 

난 그냥 해요 : 코드의

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 축에 레이블을 넣어 하나를 필요로하기 때문에 i는 x 축 형식에 대해 하나 개의 클래스가,이 코드입니다 5512의 하나 개의 값을 전송하고, 결과가 segmentTab 버튼에주의를 지불하지 않아도된다

enter image description here

+0

도움이되기를 바랍니다했다 이 일을 성취하기 위해 다른 일을합니까? 내 경우에 커터가 작동하지 않기 때문에 – Ponchotg

답변

3

난 당신이 있었다 같은 상황에 있었다, 나는 '나오지 않았어 t는 정확한 해결책을 찾을 수 있지만,이 사람은 나를 위해 일한 :

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

가 나는 또한 내 경우에는 라벨을

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

에 맞게 내 바를 중심으로 5 개 이상의 바 정도 가질 수 없습니다 내 차트 나는 5 개를 사용했다. 그러나 막대 수와 함께 변수를 전달하고 "LabelCount"를 해당 숫자로 설정할 수있다. 확대 할 때 여전히 레이블을 반복하지만, 겹치지 않으며 나쁜 것으로 보이지는 않는다. .

내가, 당신이 찾고 있던 정확히 대답하지 알고 있지만 난 당신이 주먹과 마지막 줄 크기가 동일하기 위해 "fitBars"를 사용 참조 코드를 읽고, 그런데

관련 문제