2016-11-21 5 views
0

私は、iOS用のJawboneのグラフ作成ライブラリを使用して、1つのチャートに2組のデータをプロットしようとしています。ここで日付(x軸)のデータ、活動レベル、および閾値である:iOSのJBLineChartで2行をプロットしてカスタマイズするにはどうすればよいですか?

var activityChartLegend = ["11-14", "11-15", "11-16", "11-17", "11-18", "11-19", "11-20"] 
var activityChartData = [88, 81, 69, 77, 70, 89, 90] 
var activityThreshold = [80, 80, 80, 80, 80, 80, 80] 

IはactivityChartDataための最初の行を正常にプロットしました。しかし、私はactivityThresholdの2番目の行をプロットする方法を混乱させています。ドキュメントは限られているので、この2行目のプロット方法はわかりません。次のコードでは、行数を "2"として返しましたが、次の関数内で両方の行をプロットする方法を理解していません。

func lineChartView(_ lineChartView: JBLineChartView!, showsDotsForLineAtLineIndex lineIndex: UInt) -> Bool { 
    return true // False = do not show the dots 
} 

func lineChartView(_ lineChartView: JBLineChartView!, dotRadiusForDotAtHorizontalIndex horizontalIndex: UInt, atLineIndex lineIndex: UInt) -> CGFloat { 
    return CGFloat(6) 
} 

func lineChartView(_ lineChartView: JBLineChartView!, colorForDotAtHorizontalIndex horizontalIndex: UInt, atLineIndex lineIndex: UInt) -> UIColor! { 
    return UIColor.lightGray 
} 

func lineChartView(_ lineChartView: JBLineChartView!, smoothLineAtLineIndex lineIndex: UInt) -> Bool { 
    return true 
} 

func lineChartView(_ lineChartView: JBLineChartView!, didSelectLineAt lineIndex: UInt, horizontalIndex: UInt) { 
    if (lineIndex == 0){ 
     let data = activityChartData[Int(horizontalIndex)] 
     let key = activityChartLegend[Int(horizontalIndex)] 
     activityLabel.text = "Number of steps on \(key): \(data)" 
    } 
} 

私はかなりいます:また、私は次のコードで最初の行をフォーマットしたが、それが成功のチャートビューに追加されると、他のラインをフォーマットする方法を理解していない

func numberOfLines(in lineChartView: JBLineChartView!) -> UInt { 
    return 2 
} 

func lineChartView(_ lineChartView: JBLineChartView!, numberOfVerticalValuesAtLineIndex lineIndex: UInt) -> UInt { 
    if (lineIndex == 0) { 
     return UInt(activityChartData.count) 
    } 

    return 0 
} 

func lineChartView(_ lineChartView: JBLineChartView!, verticalValueForHorizontalIndex horizontalIndex: UInt, atLineIndex lineIndex: UInt) -> CGFloat { 
    if (lineIndex == 0) { 
     return CGFloat(activityChartData[Int(horizontalIndex)]) 
    } 
    return 0 
} 

iOSでコーディングするのが初めてで、この件については限られたドキュメントしか見つけられていません。ご提供いただけるお手伝いをありがとうございます!

答えて

0
func lineChartView(_ lineChartView: JBLineChartView!, verticalValueForHorizontalIndex horizontalIndex: UInt, atLineIndex lineIndex: UInt) -> CGFloat { 
    if (lineIndex == 0) { 
     return CGFloat(activityChartData[Int(horizontalIndex)]) 
    } 
    else if (lineIndex == 1) 
    { 
     return CGFloat(activityChartData2[Int(horizontalIndex)]) 
    } 
    return 0 
} 

他の機能と同じようにしてください。彼らは彼ら自身のラインを持っていることに気づくでしょう。インデックス

:D

関連する問題