Ich verwende das Charts-Framework von Danielgindi, um dem Benutzer Daten zu präsentieren. Ich möchte zwei Diagramme übereinander anzeigen, die CombinedChartView
verwenden. Die beiden Diagramme sind BarChartDataSet
und LineChartDataSet
. Ich kann beide Datensätze erfolgreich anzeigen, jedoch kann ich die Zeichnungsreihenfolge nicht steuern. Die Leiste BarChartDataSet
wird immer hinter der LineChartDataSet
gezeichnet. Ich möchte, dass diese Reihenfolge umgekehrt wird, und habe die LineChartDataSet
in der Rückseite (einschließlich aller Füllungen, die ich darauf anwende).Zeichnungsreihenfolge für kombinierte Charts in iOS-Charts ändern
Meine Frage
Wie kann ich die Zeichnungsreihenfolge für CombinedChartView
ändern Sie die Liniendiagramme in den Rücken und nicht vorne zu machen?
Hier ist mein Code:
// barDataEntries and lineDataEntries are generated in a different section and are not relevant to this question. Any data will do.
// barDataEntries is of type [BarChartDataEntry]()
// lineDataEntries is of type [ChartDataEntry]()
let barChartSet = BarChartDataSet(yVals: barDataEntries, label: "The Bars")
let lineChartSet = LineChartDataSet(yVals: lineDataEntries, label: "The Line")
barChartSet.barShadowColor = UIColor(red: 1, green: 0, blue: 0, alpha: 0) // If alpha is > 0, then grey bars will appear.
// Cosmetic changes for the line chart
lineChartSet.mode = .CubicBezier
lineChartSet.lineWidth = 5.0
lineChartSet.drawCirclesEnabled = false
lineChartSet.drawFilledEnabled = true
lineChartSet.colors = [UIColor(red: 0, green: 0, blue: 1, alpha: 0.0)]
lineChartSet.fillColor = UIColor(red: 1, green: 0, blue: 0, alpha: 1.0)
lineChartSet.fillAlpha = 0.8
// Organizing data for statsChartViewController
let data = CombinedChartData(xVals: xAxis)
data.lineData = LineChartData(xVals: xAxis, dataSets: [lineChartSet])
data.barData = BarChartData(xVals: xAxis, dataSets: [barChartSet])
// statsChartViewController is of type CombinedChartView
statsChartViewController.data = data
statsChartViewController.leftAxis.axisMinValue = 0
Hier ist, was ich erhalte:
Können Sie zeigen, wie Sie die Charts zu Ihrem Finale UIView Hinzufügen sind? – AnthonyR
Das Diagramm (technisch gesehen nur eines) wird in einem Storyboard als 'View' definiert, das auf die Klasse 'CombinedChartView' gesetzt wird. In 'ViewController' (enthält den oben erwähnten Code) ist die' View' aus dem Storyboard mit einem IBOutlet '@IBOutlet verbunden. Weak var statsChartViewController: CombinedChartView!' Das 'BarChartDataSet' und 'LineChartDataSet' sind nicht einzeln platziert das Storyboard; nur 'CombinedChartView' ist. – Camon