2017-04-30 37 views
0

我有一個圖表,當我觸摸它。它成功地突出了我們的圖表,但我似乎無法檢索正在選擇的特定數據點。iOS swift圖表庫:如何檢索圖表選擇上的數據項?

爲了更具體一些,我使用了一個水平條形圖,以便它是一個分段條形圖。這是用於創建條形圖我們的數據類型爲:

updateGraph(list: Array<Double>) { 
      let dataEntries = [BarChartDataEntry(x: 0.0, yValues: list)] 

let barChartDataSet = BarChartDataSet(values: dataEntries, label: "") 

    let colorValues = colorList.map({ $0.color }) 
    barChartDataSet.colors = colorValues//ChartColorTemplates.material() 

    let labelValues = nameList.map({ $0.name }) 
    barChartDataSet.stackLabels = labelValues 

    let barChartData = BarChartData(dataSet: barChartDataSet) 
    barChartData.setValueFont(UIFont.systemFont(ofSize: 12.0)) 
    barChart.data = barChartData 
} 

現在,當我選擇了此圖的特定部分,我能順利拿到chartValueSelected火,但它返回一個可識別特定的列表中沒有任何有用的數據索引被選中。

回答

0

在閱讀API文檔並弄亂東西之後,看起來函數chartValueSelected允許訪問圖表highlight,您可以使用highlight.stackIndex來提取數據索引路徑。

通過圖表非常令人沮喪的變量命名... stackIndex是非常直觀的,但唉,解決了。

0

我對這個庫不熟悉,但是通過閱讀源代碼,似乎ChartViewDelegate.chartValueSelected方法應該有一個參數dataEntry: DataEntry,它應該引用選定的條目。您的chartValueSelected方法是否被調用?你能用它的內容更新你的問題嗎?