2016-12-07 5 views
1

私はhttps://github.com/danielgindi/Chartsを使用しており、LineChartViewを正常にレンダリングすることができます。ただし、非常に単純なCombinedChartViewをレンダリングしようとすると、空のグラフとしてレンダリングされます。また、任意のタッチイベントは "CGAffineTransformInvert:singular matrix"を出力します。Swift Chartsを使用した複合ChartViewのレンダリング

@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に変更し、モジュールを "Charts"に変更しました。 –

答えて

1

私はChartsに付属のデモを完全に忘れていました。基本的には、グラフの種類ごとにデータセットを設定する必要があります。データセットを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() 
関連する問題