Swift3 IOS条形图视图

Chartkütüphanesi(https://github.com/danielgindi/Charts)和Swift突出显示了Bar Chart eklemekçokkolay。

  1. Pod’Charts’şeklindePodfile’nızaekleyin。
  2. Yandaki resimdegörüldüğügibi Storyboard’aeklemişolduğunuz视图Controller’ıniçerisine视图ekleyerek自定义类olarak条形图视图’ıseçiniz。

3)ArdındanView’ısürükleyipilgilisınıfabırakarak@IBOutlet @IBOutlet weak var barChartView: BarChartView! şeklindeoluşturunuz。

4)Aşağıdaverilenextension’ısınıfınızınenaltınayerleştiriniz。

5)Fonksiyonunuzu类方法unuzuniçerisineyerleştiriniz。

6)Fonksiyonuçağırınız: func setChart()


导入图表
 extension BarChartView { 

private class BarChartFormatter: NSObject, IAxisValueFormatter {

var labels: [String] = []

func stringForValue(_ value: Double, axis: AxisBase?) -> String {
return labels[Int(value)]
}

init(labels: [String]) {
super.init()
self.labels = labels
}
}
@IBOutlet弱var basicBarChart:BarChartView!
func setBarChartData(xValues: [String], yValues: [Double], label: String) {

var dataEntries: [BarChartDataEntry] = []

for i in 0..<yValues.count {
let dataEntry = BarChartDataEntry(x: Double(i), y: yValues[i])
dataEntries.append(dataEntry)
}

let chartDataSet = BarChartDataSet(values: dataEntries, label: label)
let chartData = BarChartData(dataSet: chartDataSet)

let chartFormatter = BarChartFormatter(labels: xValues)
let xAxis = XAxis()
xAxis.valueFormatter = chartFormatter
self.xAxis.valueFormatter = xAxis.valueFormatter

self.data = chartData
}
}

用法

 func setChart(){ 
let months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
let unitsSold = [20.0, 4.0, 3.0, 6.0, 12.0, 16.0, 4.0, 18.0, 2.0, 4.0, 5.0, 4.0]

barChartView.setBarChartData(xValues: months, yValues: unitsSold, label: "Monthly Sales")
}

Interesting Posts