Я использую структуру диаграмм от Danielgindi для представления данных пользователю. Я хочу показать две диаграммы друг на друга, используя CombinedChartView
. Две диаграммы: BarChartDataSet
и LineChartDataSet
. Я могу успешно отображать оба набора данных, однако я не могу контролировать порядок рисования. Бар BarChartDataSet
всегда рисуется за LineChartDataSet
. Я хочу, чтобы этот ордер был отменен и имел LineChartDataSet
сзади (включая любые заливки, которые я применяю к нему).Изменить порядок рисования для комбинированных диаграмм в диаграммах iOS
Мой вопрос
Как я могу изменить порядок рисования для CombinedChartView
, чтобы сделать диаграммы линии в задней части и не фронт?
Вот мой код:
// 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
Вот что я получаю:
Можете ли вы показать, как вы добавляете диаграммы к вашему финалу UIView? – AnthonyR
Диаграмма (это технически только одна), определяется в раскадровке как 'View', заданной для класса' CombinedChartView'. В 'ViewController' (содержит весь код, упомянутый выше),' View' из доски истории связан с IBOutlet '@IBOutlet слабый var statsChartViewController: CombinedChartView!' '' BarChartDataSet' и 'LineChartDataSet' не помещаются отдельно доска рассказов; только 'CombinedChartView'. – Camon