2017-01-10 8 views
0

私はbarchartを実装しており、データとラベルを割り当てて管理しています。しかし、私はbarchartをロードするとき、それは私のラベルの3/7のみを表示し、私はなぜそれがわからない。xAxisラベルのフォーマット方法iOSチャート

私はグラフとやりとりするときにラベルが表示されますが、それらはうんざりします。

私は自分自身についてはよく説明していないが、自分の問題を示す.gifをアップロードしていれば申し訳ありません。

xAxisのラベルの書式設定には本当に助けが必要です。それは非常に高く評価されるだろう。

ありがとうございます。

gif of problem

答えて

0

私はあなたがこのライブラリ(https://github.com/danielgindi/Charts)を使用していると思う...私はチャート

func ChartView() 
{ 
    xAxis.drawGridLinesEnabled = false 
    xAxis.drawLabelsEnabled = true 
    xAxis.labelPosition = .Bottom 
    xAxis.axisMinimum = 0.0 
    xAxis.labelCount = ITEM_COUNT 
    xAxis.granularity = 1.0 
    xAxis.valueFormatter = self 

    self.updateChartData() 
} 

func updateChartData() 
{ 
    self.chartView.data = nil 
    self.setChartData() 
} 


func generateLineData() -> LineChartData 
{ 

    let d = LineChartData() 
    let entries = NSMutableArray() 
    var weightstr = String() 
    var datestr = String() 
entries.addObject(ChartDataEntry(x: Double(index), y: (Double(dic[setvalue]as! String)!))) 
let set = LineChartDataSet(values: entries as? [ChartDataEntry] , label: "X-title") 
    set.setColor(colorWithHexString("#FE1643")) 
    set.lineWidth = 2.5 
    set.setCircleColor(UIColor.whiteColor()) 
    set.circleHoleColor = NSUIColor.greenColor() 
    set.circleRadius = 5.0 
    set.circleHoleRadius = 2.5 
    set.fillColor = UIColor.redColor() 
    set.mode = .HorizontalBezier 
    set.valueTextColor = UIColor.lightGrayColor() 
    set.drawValuesEnabled = true 
    set.valueFont = UIFont(name: "Exo-Regular", size: FOntSIZE(10.0))! 
    set.axisDependency = .Left 
    d.addDataSet(set) 
    return d 
} 

func setChartData() 
    { 
     let data = CombinedChartData() 
     data.lineData = self.generateLineData() 
     self.chartView.xAxis.axisMaximum = Double(months.count)-1 
     self.chartView.data = data 
    } 

func chartValueSelected(chartView: ChartViewBase, entry: ChartDataEntry, highlight: Highlight) 
    { 
     print("chartValueSelected") 
    } 

func chartValueNothingSelected(chartView: ChartViewBase) 
{ 
    print("chartValueNothingSelected") 
} 

func stringForValue(value: Double, axis: AxisBase?) -> String 
{ 
    return months[Int(round(value)) % months.count] as! String 
} 
+0

のデリゲートメソッドを使用して、X軸を設定している私は、 'stringForValue'メソッドを使用してみましたが、それは与えました私は前と同じ結果を返します – Kasper

+0

私はstringForValue()に渡されている値をデバッグします。私の経験では、Chartsライブラリは、書式を要求する値を独自に選択します。したがって、チャートにx値1,2,3,4,5がある場合は、stringForValue()に簡単なprint(value)を入れて、これらの値すべてに対して書式設定が要求されていることを確認できます。 – Alex

+0

@Alex私は 'print(value)'メソッドをテストし、 '0,1.0,2.0 3.0,4.0,5.0,6.0,7.0'を出力しました ラベル配列が' let labels:[String ] = "m"、 "t"、 "w"、 "thu"、 "fri"、 "sat"、 "sun" – Kasper

関連する問題