2016-12-07 2 views
1

https://github.com/danielgindi/Charts을 사용하며 LineChartView를 성공적으로 렌더링 할 수 있습니다. 그러나 매우 간단한 CombinedChartView를 빈 차트로 렌더링하려고합니다. 또한 모든 터치 이벤트는 "CGAffineTransformInvert : singular matrix"를 출력합니다.스위프트 차트를 사용하여 CombinedChartView 렌더링

@IBOutlet weak var chartView: CombinedChartView! 

var lineData = [ChartDataEntry]() 
lineData.append(ChartDataEntry(x: Double(0), y: drand48())) 
let lineDataSet = LineChartDataSet(values: lineData, label: "line") 

var barData = [BarChartDataEntry]() 
barData.append(BarChartDataEntry(x: Double(0), y: drand48())) 
let barDataSet = BarChartDataSet(values: barData, label: "bar") 

let combinedData = CombinedChartData(dataSets: [lineDataSet, barDataSet]) 
chartView.data = combinedData 
charView.notifyDataSetChanged() 

나는 여기에 뭔가가 있습니까? 감사합니다.

+0

보기에 어떻게 추가하나요? – sdasdadas

+0

@sdasdadas : 스토리 보드를 사용하여 연결합니다. UIView를 배치하고 형식을 CombinedChartView로 변경하고 모듈을 "차트"로 변경했습니다. –

답변

1

차트와 함께 제공되는 데모는 완전히 잊었습니다. 기본적으로 그래프의 각 유형에 대한 데이터 세트를 설정해야합니다. 그런 다음 데이터 세트를 CombinedChartData에 지정하십시오.

@IBOutlet weak var chartView: CombinedChartView! 

var lineData = [ChartDataEntry]() 
lineData.append(ChartDataEntry(x: Double(0), y: drand48())) 
let lineDataSet = LineChartDataSet(values: lineData, label: "line") 
let lineChartData = LineChartData(dataSets: [lineDataSet]) 

var barData = [BarChartDataEntry]() 
barData.append(BarChartDataEntry(x: Double(0), y: drand48())) 
let barDataSet = BarChartDataSet(values: barData, label: "bar") 
let barChartData = BarChartData(dataSets: [barDataSet]) 

let combinedData = CombinedChartData() 
combinedData.lineData = lineChartData 
combinedData.barData = barChartData 
chartView.data = combinedData 
charView.notifyDataSetChanged()