Swift3 IOS条形图视图
Chartkütüphanesi(https://github.com/danielgindi/Charts)和Swift突出显示了Bar Chart eklemekçokkolay。
- Pod’Charts’şeklindePodfile’nızaekleyin。
- 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 {
@IBOutlet弱var basicBarChart: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
}
}
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")
}