2016-10-10 5 views
5

ストーリーボードにbar chartを追加しましたが、データエントリのラベルを正しく設定できません。ここiOS-chartsでBarChartViewのXAxisのラベルを追加する方法

は私のコードです:

var names = ["aaa", "bbb", "ccc", "ddd"] 
var values = [230.0, 280.0, 450.0, 340.0] 

setChart(dataPoints: names, values: values) 

setChart機能:

func setChart(dataPoints: [String], values: [Double]) 
{ 
    let formatter = BarChartFormatter() 
    formatter.setValues(values: dataPoints) 
    let xaxis:XAxis = XAxis() 


    barChartView.noDataText = "You need to provide data for the chart." 
    var dataEntries: [BarChartDataEntry] = [] 

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

    let chartDataSet = BarChartDataSet(values: dataEntries, label: "موجودی") 

    let chartData = BarChartData(dataSet: chartDataSet) 


    xaxis.valueFormatter = formatter 
    barChartView.xAxis.labelPosition = .bottom 
    barChartView.xAxis.drawGridLinesEnabled = false 
    barChartView.xAxis.valueFormatter = xaxis.valueFormatter 
    barChartView.chartDescription?.enabled = false 
    barChartView.legend.enabled = true 
    barChartView.rightAxis.enabled = false 
    barChartView.data = chartData 
} 

、最後にフォーマッタ:

​​

が、以下に示すように、それはうまく動作しませんでした:

enter image description here

ここに示すように、4つのラベルの代わりに6つのラベルを追加し、重複もします。

私はすでにthis solutionを読んでいますが、ご覧のとおり、まだ問題があります。

どうすればこの問題を解決できますか?

答えて

9

私はあなたの次のプロパティを設定しようとすることができると思う:

barChartView.xAxis.granularityEnabled = true 
barChartView.xAxis.granularity = 1.0 //default granularity is 1.0, but it is better to be explicit 
barChartView.xAxis.decimals = 0 

ソースコードはあなたに上記の特性について多くのことを伝えます。 https://github.com/danielgindi/Charts/blob/master/Source/Charts/Components/AxisBase.swift

+0

これは私にとっては役に立ちません。私の[問題]を見てください(https://stackoverflow.com/questions/46618636/how-to-add-string-labels-xaxis-labels-to-horizo​​ntal-bar-in-charts-framework) –

関連する問題