2016-08-29 19 views
0

折れ線グラフとグループ化された棒グラフを持つ結合チャートにデータを挿入しようとしていますが、 バーが期待通りに表示されません。 xAxisインデックスと同期していません。どんな助けもありがとう。私が添付しました画像の場合iOSチャート - グループ化された棒グラフが適切にインデックス化されない

Combined Chart Image: Line + Grouped Bar

、バーは、各月と同期する必要がありますが、そうではありません。ここで

はコードです:

private func setLineChartWith(data: [Double]) { 

    var lineChartEntries: [ChartDataEntry] = [] 

    for i in 0..<data.count { 

     let lineChartEntry = ChartDataEntry(value: data[i], xIndex: i) 
     lineChartEntries.append(lineChartEntry) 
    } 

    let lineDataSet = LineChartDataSet(yVals: lineChartEntries, label: "Line") 
    lineDataSet.lineWidth = 3 
    lineDataSet.circleRadius = 4 
    lineDataSet.mode = .CubicBezier 
    lineDataSet.highlightEnabled = true 

    let lineChartData = LineChartData(xVals: datesData, dataSets: [lineDataSet]) 
    chartData.lineData = lineChartData 
} 

    // MARK: Bar Chart Code 
    func setBarChartWith(data: [Double], secondaryData: [Double]?) { 

    var barChartEntries1: [BarChartDataEntry] = [] 
    var barChartEntries2: [BarChartDataEntry] = [] 
    for i in 0..<data.count { 

     barChartEntries1.append(BarChartDataEntry(value: data[i], xIndex: i)) 
     barChartEntries2.append(BarChartDataEntry(value: data[i], xIndex: i)) 
    } 

    let barDataSet = BarChartDataSet(yVals: barChartEntries1, label: "Bar1") 
    barDataSet.barSpace = 0.5 
    barDataSet.highlightEnabled = true 
    barDataSet.barShadowColor = UIColor.clearColor() 

    let barDataSet2 = BarChartDataSet(yVals: barChartEntries1, label: "Bar2") 
    barDataSet2.barSpace = 0.5 
    barDataSet2.highlightEnabled = true 
    barDataSet2.barShadowColor = UIColor.clearColor() 

    var dataSets : [BarChartDataSet] = [BarChartDataSet]() 
    dataSets.append(barDataSet) 
    dataSets.append(barDataSet2) 
    let barChartData = BarChartData(xVals: datesData, dataSets: dataSets) 
    chartData.barData = barChartData 
} 
+0

あなたの質問を正しく理解できませんでした。コードは、より多くのコードと説明を提供します。 –

+0

Line Graphのデータはどこに入力していますか? –

+0

折れ線グラフのコードを追加しました。 バーを隣り合わせにしたい。すなわち、x軸上の各月には、現在のような一対の棒がありません。 –

答えて

0

おそらく、あなたのグラフィックを作成するためのライブラリを使用しています。この書棚にはこの問題があり、項目はx軸で制限されています。グラフは、ユーザーが何もデータなしでも理解できるようにそれらを分割します。最初のインデックスから始まり、配列の最後のインデックスで終了するので、x軸の中央からデータが取り込まれることに気づくでしょう。したがって、ユーザはグラフを理解することができ、グラフは過負荷にならない。このためにライブラリに適切なソリューションはありませんが、グラフやx軸のラベルをズームしようとすることができます。グラフの幅を広げることも役立ちます。クラスレベルのもの

var barCartDataSet : [IChartDataSet] = [] 

    var colNamesArray : [String]! 

//を設定

0

は、この機能にあなたが最後の呼び出しに1つのグループその後

setChartData("Test Lable", values: [2.0,3.0] , color: UIColor.darkGrayColor()) 

//にあなたが必要とどのくらいの棒手段を必要なだけ時間を呼び出しますこの

setChartDataSet(colNamesArray, chartDataSet: barCartDataSet) 

// Functios

func setChartData(lableName: String, values: [Double] , color : UIColor) { 


     var dataEntries: [BarChartDataEntry] = [] 


     for i in 0..<values.count { 
      let dataEntry = BarChartDataEntry(value: values[i], xIndex: i) 
      dataEntries.append(dataEntry) 
     } 


     let chartDataSet = BarChartDataSet(yVals: dataEntries, label: lableName) 

     barCartDataSet.append(chartDataSet) 


     //changing color 
     chartDataSet.colors = [color] 
    } 

    func setChartDataSet(dataPoints: [String], chartDataSet : [IChartDataSet]) { 

     BarChartDrawingView.noDataText = "You need to provide data for the chart." 


     let chartData = BarChartData(xVals: dataPoints, dataSets: chartDataSet) 

     chartData.groupSpace = 0.8 

     BarChartDrawingView.data = chartData 

     BarChartDrawingView.xAxis.labelPosition = .Bottom 

     //Description Text 
     BarChartDrawingView.descriptionText = " " 



    } 

ご迷惑をおかけして申し訳ありません。希望を助ける:)

関連する問題