coca pod Chart not appearing (Swift4)

2019-01-09 19:52发布

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)
}}

enter image description here

1条回答
可以哭但决不认输i
2楼-- · 2019-01-09 20:19

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 :

enter image description here

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
查看更多
登录 后发表回答