Creating Stacked Bar Chart How To Round Corner Radius Of Bar and How To Set DataPoints Background Color
AGL-Pulkit-AGL opened this issue · 0 comments
AGL-Pulkit-AGL commented
func setChartBarGroupDataSet(dataPoints: [String], values1: [Double], values2: [Double],values3: [Double],values4: [Double],values5: [Double]) {
var dataEntries1: [BarChartDataEntry] = []
var dataEntries2: [BarChartDataEntry] = []
var dataEntries3: [BarChartDataEntry] = []
var dataEntries4: [BarChartDataEntry] = []
var dataEntries5: [BarChartDataEntry] = []
for i in 0..<dataPoints.count {
let dataEntry1 = BarChartDataEntry(x: Double(i) , y: values1[i])
dataEntries1.append(dataEntry1)
let dataEntry2 = BarChartDataEntry(x: Double(i) , y: values2[i])
dataEntries2.append(dataEntry2)
let dataEntry3 = BarChartDataEntry(x: Double(i) , y:values3[i])
dataEntries3.append(dataEntry3)
let dataEntry4 = BarChartDataEntry(x: Double(i) , y:values4[i])
dataEntries4.append(dataEntry4)
let dataEntry5 = BarChartDataEntry(x: Double(i) , y:values5[i])
dataEntries5.append(dataEntry5)
}
let chartDataSet1 = BarChartDataSet(entries: dataEntries1, label: "Google")
let chartDataSet2 = BarChartDataSet(entries: dataEntries2, label: "FaceBook")
let chartDataSet3 = BarChartDataSet(entries: dataEntries3, label: "Emailer")
let chartDataSet4 = BarChartDataSet(entries: dataEntries4, label: "LinkedIn")
let chartDataSet5 = BarChartDataSet(entries: dataEntries5, label: "Website")
// Mark Show Minimum Number Of Bar Graph and Scroll Start
let visibleXRange = 5 // Number of values to show in y-Axis
barChartView.xAxis.axisMaximum = Double(dataEntries1.count)
barChartView.setVisibleXRangeMaximum(Double(visibleXRange))
barChartView.xAxis.setLabelCount(visibleXRange, force: true)
barChartView.xAxis.labelCount = visibleXRange
barChartView.dragEnabled = true
// Mark Show Minimum Number Of Bar Graph and Scroll End
// Mark Show and Remove Values Show In Bar Start
chartDataSet1.drawValuesEnabled = true
chartDataSet2.drawValuesEnabled = false
chartDataSet3.drawValuesEnabled = false
chartDataSet4.drawValuesEnabled = false
chartDataSet5.drawValuesEnabled = false
// Mark Remove Values Show In Bar End
chartDataSet1.colors = [UIColor(red: 118/255, green: 153/255, blue: 31/255, alpha: 1)]
chartDataSet2.colors = [UIColor(red: 0/255, green: 163/255, blue: 217/255, alpha: 1)]
chartDataSet3.colors = [UIColor(red: 229/255, green: 175/255, blue: 23/255, alpha: 1)]
chartDataSet4.colors = [UIColor(red: 54/255, green: 87/255, blue: 178/255, alpha: 1)]
chartDataSet5.colors = [UIColor(red: 229/255, green: 55/255, blue: 34/255, alpha: 1)]
let dataSets: [BarChartDataSet] = [chartDataSet1, chartDataSet2, chartDataSet3,chartDataSet4,chartDataSet5]
let chartData = BarChartData(dataSets: dataSets)
chartData.setValueFont(.systemFont(ofSize:10, weight: .semibold))
barChartView.pinchZoomEnabled = false
barChartView.doubleTapToZoomEnabled = false
barChartView.drawMarkers = true
barChartView.drawValueAboveBarEnabled = true
barChartView.fitBars = false
// Set Width On Barchart
chartData.barWidth = 0.8;
// Set space between groups of bars
barChartView.data = chartData
// Set the marker for the chart view
// barChartView.chartDescription.text = "Laxmi Mittal Production Data"
// barChartView.chartDescription.textColor = #colorLiteral(red: 1, green: 0.9999999404, blue: 1, alpha: 1)
barChartView.animate(xAxisDuration: 1.5, yAxisDuration: 1.5, easingOption: .easeInBounce)
barChartView.notifyDataSetChanged()
}