My chart is not displaying any bars using this bar graph. I have successfully imported the charts cocoa pod. There are currently no run time errors. The only thing that is being displayed in the graph is the description label.
import UIKit
import Charts
class ViewController: UIViewController {
@IBOutlet var lineChartVIew: BarChartView!
var days: [String]!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
days = ["Monday","Tuesday","life"]
let task = [1.0,4.0,3.0]
setChart(dataPoints: days, values: task)
}
func setChart(dataPoints : [String], values : [Double]){
lineChartVIew.noDataText = "Nothining to display"
var dataEntries : [BarChartDataEntry] = []
var counter = 0.0
for i in 0..<dataPoints.count {
counter += 1
let dataEntery = BarChartDataEntry(x: values[i], y: counter)
dataEntries.append(dataEntery)
}
let ChartDataSet = BarChartDataSet(values: dataEntries, label: "Time")
let chartData = BarChartData()
lineChartVIew.data = chartData
ChartDataSet.colors = ChartColorTemplates.colorful()
lineChartVIew.animate(xAxisDuration: 2.0, yAxisDuration: 2.0)
}}
Try this one it's is Working (Swift 4 Code).
import UIKit
import Charts
class RootViewController: UIViewController {
@IBOutlet weak var lineChartView: BarChartView!
var days: [String]!
override func viewDidLoad() {
super.viewDidLoad()
days = ["Monday","Tuesday","Wednesday","Thursday"]
let task = [1.0,4.0,3.0,5.0]
setChart(dataPoints: days, values: task)
}
func setChart(dataPoints : [String], values : [Double]){
lineChartView.noDataText = "Nothining to display"
var dataEntries : [BarChartDataEntry] = []
var counter = 0.0
for i in 0..<dataPoints.count {
counter += 1
let dataEntery = BarChartDataEntry(x: counter, y:values[i], data: days as AnyObject)
dataEntries.append(dataEntery)
}
let ChartDataSet = BarChartDataSet(values: dataEntries, label: "Time")
let chartData = BarChartData()
chartData.addDataSet(ChartDataSet)
lineChartView.data = chartData
ChartDataSet.colors = ChartColorTemplates.joyful()
lineChartView.animate(xAxisDuration: 2.0, yAxisDuration: 2.0)
}
}
Output is :
Modify Graph Hide and Show Axis and Labels
lineChartView.leftAxis.drawLabelsEnabled = false // Hide Left Axis Label
lineChartView.rightAxis.drawLabelsEnabled = false // Hide Right Axis Label
lineChartView.xAxis.drawLabelsEnabled = false // Hide Top Axis Label
lineChartView.leftAxis.enabled = false // Hide Left Axis Lines
lineChartView.rightAxis.enabled = false // Hide Right Axis Lines
lineChartView.xAxis.enabled = false // Hide Right Axis Lines
lineChartView.legend.enabled = false //Hide Legend of Chart
lineChartView.chartDescription?.text = "" // Hide or Change Chart Description text